matlab模拟车桥耦合振动,怎么迭代好收敛

matlab模拟车桥耦合振动,怎么迭代好收敛,第1张

分为前向传播剪枝,例:已知A+B=X,行蚂A+B=Y,求X?

反向传播剪枝, 例:A+B=X,A+B=Y,求X、Y,dX/dA?

根据用户枯饥的求解需求,可以剪掉没有求解的没带返图分支。

你的 v是什么?

补充一下昌差条衡悉件吧

还有你的式子括号根本就不耐拦皮匹配,怎么解?

同志,认真点吧!

这是大概解法 自己再修改修改吧

m=1.2*(10^4)

EI=1.275*10^11

M1=4.69*10^4

M2=1.69*10^4

l=50

g=9.8

c=3.14*10^5

k=4.87*10^6

u=1

v=1

dsolve('M1*D2z+c*(Dz-Dy*sin(pi*v*t/l))=-k*(z-y*sin(pi*v*t/l))-u*k*(z-y*sin(pi*v*t/l))',...

'D2y+2/m*l*(M1*D2z+M2*D2y*sin(pi*v*t/l))*sin(pi*v*t/l)=2/m*l*(M1+M2)*g*sin(pi*v*t/l)-(EI*pi^4/m*l^4)*y',...

'Dy(0)=0','D2y(0)=0','Dz(0)=0','D2z(0)=0','z(0)=0','y(0)=0')

祝君好运

循环体碧帆被执行四次,重点看循环体语句“Output=[Outputeval([Expression{i},'(',num2str(Num),')'])]”这里有两部分:1、Output=[OutputXXX],这里的中括号表示做行方向上的拼接(省略了逗号,实际可以写成 [Output,XXX])。举例自己体会一下:a = []b = [1 23 4]a = [a b]c = [5 67 8]a = [a c]输出:a = 1 2 3 4a = 1 2 5 6 3 4 7 8所以这一部分代码表示不断将XXX拼接到Output的后面。备注:[Output,XXX]表示行方向上的拼接(可省略逗号,用空格隔开)[OutputXXX]表示列方向上的拼接(分号不能省略)注意逗号和分号的区别。2、eval([Expression{i},'(',num2str(Num),')'])eval函数的功能是将一个字符串等卖含价转换为一个对应可执行的matlab语句,举例:a = 3eval('b=4')输出:a = 3b = 4可以发现第二句实际上就是执行一句MATLAB语句,即b=4。回头来看看表达式[Expression{i},'(',num2str(Num),')'],只看i为1的时候,这句相当于是['zeros','(',num2str(Num),')']上面提到中括号内用逗号隔开是做行方向上的拼接,故中括号里面都是字符串时,实际上就是做字符串的拼接。所以i为1时,这个字符串是“zeros(2)”。因此,可以看到这里随着i的变化,产生了四个字符串,即:'zeros(2)''ones(2)''rand(2)''magic(2)'然后调用evaleval('zeros(2)') -->等价于MATLAB语句zeros(2)eval('悔配雹ones(2)') -->等价于MATLAB语句ones(2)eval('rand(2)') -->等价于MATLAB语句rand(2)eval('magic(2)') -->等价于MATLAB语句magic(2)这下可以理解了吧,这个循环体实际上使用MATLAB自带的矩阵函数,生成了4个特殊矩阵,每个矩阵都是2x2的,最后把这4个2x2的矩阵在行方向上拼接到一起。故最后结果是一个2x8的矩阵。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12233076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存