lzth.net
当前位置:首页 >> 求教如何用mAtlAB编写这个微分方程的程序 >>

求教如何用mAtlAB编写这个微分方程的程序

采用Runge-Kutta法: syms x(t) [V,Y] = odeToVectorField(4*diff(x,2)==(3*x-2*x^2)*diff(x)-4*x); M = matlabFunction(V,'vars', {'t','Y'}); sol = ode45(M,[0 100],[2,0]); x1 = linspace(0,100,1000); y = deval(sol,x1,1:2); plot(x1,y); ...

如图

首先z1z2z3的初值应该给出的, 否则无法求解,你少定解条件!!!我自己给了一个初始条件令他们都为0,取100个时间点为区间,然后进行了求解,结果如下: 你这个方程组好像结构动力学中的mck方程,结果类似正弦波,程序你可以私信我,建议你去再...

微分方程的话可以用dsolve函数,格式可以总结为dsolve('equation','condition',自变量)的形式。自变量默认为t。 这种方法解微分方程还好。如果是微分方程组的话建议用ode45函数(该方法也用于微分方程) 首先建立M文件写方程组的表达形式 functi...

1、对于解析值,你可以用dsolve()函数求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解 >> syms y(x) >>Dy = diff(y);D2y = diff(y, 2); >>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x') 运行结果 2、对于数值解,你可以查看二阶常微分方程这个例子,http...

通解求出来了,还需要确定那些常数c啊,c确定了把t带进去就求出来了。 试试用syms和subs函数来实现此功能,

不要用字符串格式。 syms y(x) a = 1; z = dsolve(a*diff(y,2)+diff(y)==1)

上面两题用dsolve都解不出,用ode45数值解法如下: 1题中x1=i,x2=s,则: syms x1(t) x2(t) lamda=0.5;u=0.1; V = odeToVectorField(diff(x1) ==lamda*x1*x2-u*x2,diff(x2) ==-lamda*x1*x2+0.1) M = matlabFunction(V,'vars', {'t','Y'}) %计算...

如何用matlab求解二阶微分方程,对于一般的微分方程(组)可以用dsolve()函数求得其解析解或数值解,对于较复杂的微分方程(组)可以用ode45()函数求得其数值解。 例如:微分方程,用dsolve和ode45计算t=0.1,0.2时y的值。 y = dsolve('D2y+0...

在matlab的书中讲四阶龙格库塔法的地方有例子程序,只要稍微改改就好了

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com