作业帮 > 数学 > 作业

想用matlab编一个简单的微分方程的边值问题,具体如下(有酬劳)

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:数学作业 时间:2024/05/15 03:43:54
想用matlab编一个简单的微分方程的边值问题,具体如下(有酬劳)
一个悬臂梁(左端固定,右端自由)受到均匀载荷q的作用,右端向上移动H时,梁的形貌;作了一个简图如下


那么梁的挠度微分方程及边界条件为:

我用matlab大概写了一下,是这样的:

h=1e-3;b=10e-3;l=100e-3;E=200e9;  %杆件的几何参数及弹性模量
q=0.1; %线载荷q
H=0.4; %右端向上抬高位移
EI=E*b*h^3/12;  
solinit=bvpinit(linspace(0,l,5),[0.1,0.1,0.1,0.1]);
f1=@(x,y)[y(2);y(3);y(4);-1000000*q*/EI]; %微分控制方程
f2=@(ya,yb)[ya(1);ya(2);yb(1)-H;yb(3)]; %边界条件
sol=bvp5c(f1,f2,solinit);
eta=linspace(0,l,51);
y=deval(sol,eta);plot(eta,y(1,:),'*') %作出杆件的形变图
grid on

结果为:

还算比较符合真实情况.现在的问题是:

若果我的线载荷q不再是一个常数,而是一个跟挠度y有关的函数,而且这个函数是分段函数,请问这个该如何实现,比如:


可以理解为,当挠度小于0.1时,载荷恒定,当大于0.1小于0.3时,载荷反而会减小,其余的挠度对应载荷为0,是一个分段函数.

请问这个怎么在matlab里面实现,最佳答案有酬劳(暂定手机充值卡吧^_^,可以商量),或者有高手可以相互讨论下,我是这个的菜鸟,刚开始学,希望学习一下如何解决.
边界条件第3个式子写错了,是y=H,不是y‘,在matlab里是写对了的,
想用matlab编一个简单的微分方程的边值问题,具体如下(有酬劳)
兄弟, 为什么不用ansys来做
再问: 没用过,不过原理也是差不多的吧?新学一个软件怕耗时间,ansys能做这种吗?
再答: ansys设置起来比较简答 可惜我不是机械这个专业的; 不过ansys把这些情况都考虑进去了 可以的话去请教你们专业的师兄, 学机械的怎么可能不会ansys本体 额 就是ansys MerLD什么东东。。。