matlab解矩阵微分方程
下式中,m1、m2、m3、c1、c2、c3和Qy都是已知量,怎么利用matlab求解y1、y2和y3关于时间变化?给分不多,希望高手解答!多谢!...
下式中,m1、m2、m3、c1、c2、c3和Qy都是已知量,怎么利用matlab求解y1、y2和y3关于时间
变化?给分不多,希望高手解答!多谢! 展开
变化?给分不多,希望高手解答!多谢! 展开
2个回答
2014-04-09
展开全部
参考代码:
% 参数定义
m1 = 1; m2 = 2; m3 = 3;
k1 = 4; k2 = 5; k3 = 6;
c1 = 7; c2 = 8; c3 = 9;
Qy = 10;
% 微分方程
K = [k1 -k1 0; -k1 k1+k2 -k2; 0 -k2 k2+k3];
C = [c1 -c1 0; -c1 c1+c2 -c2; 0 -c2 c2+c3]
dy = @(t,y)[y(4:6); (-K*y(1:3)-C*y(4:6)+[Qy;0;0])./[m1;m2;m3]];
% 初始条件(y4~y6 为 y1'~y3')
y0 = zeros(6,1);
% 求解,直接绘图
[t,y] = ode45(dy,[0 15],y0);
plot(t,y(:,1:3));
lstr = arrayfun(@(i){sprintf('y%i',i)},1:3);
legend(lstr{:})
legend(lstr{:},'Location','S','Orientation','horizontal')
更多追问追答
追问
dy = @(t,y)[y(4:6); (-K*y(1:3)-C*y(4:6)+[Qy;0;0])./[m1;m2;m3]];
这句怎么意思呢?
追答
1、从作用说,这句定义了微分方程组(由6个一阶微分方程组成),以便后续用ode求解器求解;
2、从编程的角度说,这里使用了匿名函数(Anonymous Function),如果对匿名函数不熟悉,请自行查阅相关资料,网上有很多。
系科仪器
2024-08-02 广告
2024-08-02 广告
科仪器致力于为微纳薄膜领域提供精益级测量及控制仪器,包括各种光谱椭偏、激光椭偏、反射式光谱等,从性能参数、使用体验、价格、产品可靠性及工艺拓展性等多个维度综合考量,助客户提高研发和生产效率,以及带给客户更好的使用体验。...
点击进入详情页
本回答由系科仪器提供
2014-04-10
展开全部
忘光了,全还给老师了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询