二阶微分方程组的MATLAB解法 请告诉一种用ode45来解二阶微分方程组的方法,最好把算法写出来

如题所述

第1个回答  2019-07-13
一个二阶微分方程:
y''+y'+y=sin(t)
初始条件为y(0)=5,y'(0)=6.
过程:
先降阶为一阶微分方程组
y'=z
z'=-z-y+sin(t)
编制如下函数m文件
function dy=weifen(t,x)
dy=zeros(2,1);
%y=x(1)
%z=x(2)
dy(1)=x(2);
dy(2)=sin(t)-x(2)-x(1);

然后用ode45解方程
[t,y]=ode45(@weifen,[0 20],[5 6])
plot(t,y)就可以画出y和y'的图像

二阶微分方程组的MATLAB解法 请告诉一种用ode45来解二阶微分方程组的...
先降阶为一阶微分方程组 y'=z z'=-z-y+sin(t)编制如下函数m文件 function dy=weifen(t,x)dy=zeros(2,1);y=x(1)z=x(2)dy(1)=x(2);dy(2)=sin(t)-x(2)-x(1);然后用ode45解方程 [t,y]=ode45(@weifen,[0 20],[5 6])plot(t,y)就可以画出y和y'的图像 ...

matlab里ode45解决二阶常系数微分方程用法
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...

matlab想用ode45求解一个二阶常微分方程
第一步:自定义微分方程函数odefun,其内容为:```matlab function dydx = bvpfcn(x,y)dydx = [y(2) - y(1)];end ```第二步:自定义边界条件函数bcfun,其内容为:```matlab function res = bcfcn(ya, yb)res = [ya(1), yb(1) - 2];end ```第三步:创建初始估计值函数guess...

用matlab解二元二阶微分方程(用ode45)
-(2\/y(1))*y(2)*y(4)-(g\/y(1))*sin(y(3))];然后和一次微分方程的一样。

如何用Matlab编程计算二阶常微分方程组的数值解
用Matlab编程计算二阶常微分方程组的数值解的方法有很多种,最常用有ode45函数。ode45函数的使用格式:【t,y】=ode45(odefun,tspan,y0)例如:>> odefun=@(t,y)[y(1)+2*y(2);3*y(1)+2*y(2)]; %自定义函数 >> tspan=[0 20]; %时间 >> y0=[1 1]; %初值 >> [t,y]= ode45...

matlab里的ode45求解二阶微分方程问题!!求大神!!在线等!
新的matlab版本好像不鼓励采用global了。你的全局变量有点多了,哈哈。简单例子:m=2;[t,y]=ode45(@(t,x)f1(t,x,m), [0,10], [2])function dy=f1(t,x,m)y=m-x;

求matlab ode45求解二阶微分方程组,初始值自设,求高手解答啊..._百...
ode只能求数值解,你大概是想要解析解吧,如果是的话就用符号常微分 syms dsolve('D2y+Dy+y=x','x+Dx+Dy=sin(t)',t)大概是这样,我没试,你稍微查一查,比ode用起来简单,不用单独创建函数。

如何用matlab求解一个二阶常系数微分方程组
一、理论解,用dsolve函数(在command window 中输入doc dsolve可以查看帮助)示例:代码:[x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)','Dy=4*x+3*y+4*exp(-t)')二、数值解,用ode45,或ode23, ode15s其他函数。(在command window 中输入doc ode45可以查看帮助)示例:1. 建立M文件 func...

matlab想用ode45求解一个二阶常微分方程
第一步:自定义微分方程函数,其内容 function dydx = bvpfcn(x,y)dydx = [y(2) -y(1)];第二步:自定义微分方程边界条件函数,其内容 function res = bcfcn(ya,yb)res = [ya(1), yb(1)-2];第三步:创建初始估计值函数 function g = guess(x)g = [sin(x), cos(x)];第四...

matlab如何求解二阶微分方程数值解的图象
题主的问题可以使用ode45函数求解,得到【x,y,y'】的数值解。其求解方法:1、确定初值,y0=[pi,0];2、确定x的范围,xspan=[0,10];3、自定义函数,odefun=@(x,y)[y(2);sin(y(1))*cos(y(1))*((2\/9*pi)\/(2+0.4*(sin(y(1)))^2))^2-5*sin(y(1))];4、求解,[x,...

相似回答
大家正在搜