matlab里ode45解决二阶常系数微分方程用法

方程:my''+cy'+ky=0,穿过时间段0<t<t(f),初始值:y(0)=y0,y'(0)=y'0,用ode45运算,并绘图ploty随t的变化,求整个程序以及od... 方程:my''+cy'+ky=0,穿过时间段0<t<t(f),初始值:y(0)=y0,y'(0)=y'0,用ode45运算,并绘图plot y随t的变化,求整个程序以及ode45的调用经过 展开
 我来答
帐号已注销
2020-02-13 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

1、相关常数都没给,这里随便设置一些数值:

m=1;c=2;k=3;

y0=4;yp0=5;

tf=10;

dy=@(t,y)[y(2);-(c*y(2)+k*y(1))/m];

[t,y]=ode45(dy,[0 tf],[y0 yp0]);

plot(t,y(:,1))

2、function test()

[t,y]=ode45(@func1, [0,1], [0;0;1;2;2;2]);

figure(1);

clf;

plot(t, y);

legend('x','y','z','dx','dy','dz');

grid on;

function f=func1(t,x)

r=(x(1)^2+x(2)^2+x(3)^2)^(1/2);

f=[x(4); x(5); x(6); r*x(1); r*x(2); r*x(3)];

扩展资料:

升阶法:

设y''+p(x)y'+q(x)y=f(x),当f(x)为多项式时,设f(x)=a0x^n+a1x^(n-1)+…+a(n-1)x+an,此时,方程两边同时对x求导n次,得

y'''+p(x)y''+q(x)y'=a0x^n+a1x^(n-1)+…+a(n-1)x+an……

y^(n+1)+py^(n)+qy^(n-1)=a0n!x+a1(n-1)!

y^(n+2)+py^(n+1)+qy^(n)=a0n!

令y^n=a0n!/q(q≠0),此时,y^(n+2)=y^(n+1)=0。由y^(n+1)与y^n通过倒数第二个方程可得y^(n-1),依次升阶,一直推到方程y''+p(x)y'+q(x)y=f(x),可得到方程的一个特解y(x)。

参考资料来源:百度百科-二阶常系数线性微分方程

tianxiawulang
推荐于2017-11-21 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2657万
展开全部

相关常数都没给,这里随便设置一些数值:

m=1;c=2;k=3;
y0=4;yp0=5;
tf=10;

dy=@(t,y)[y(2);-(c*y(2)+k*y(1))/m];
[t,y]=ode45(dy,[0 tf],[y0 yp0]);
plot(t,y(:,1))
追问
就是没给tf和y0、y'0啊,给了我就不用提问了
追答
你的要求是【用ode45运算】,也就是说用数值方法求解。
可以负责任的回答你,不给定这些参数,是不可能用ode45来求解的。这是基本常识。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式