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); ...

用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]...

用MATLAB求解 x'+x=1 x(0)=1 的微分方程,可以用dsolve()函数就可以解决。解决方法如下: >> syms x(t) >> Dx=diff(x,1); >> dsolve(Dx+x==1,x(0)==1) ans =1 用ode45()函数——变步长Runge-Kutta数值算法求解,得到结果是一样的。 x0=1; %初...

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

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...

这个不是解方程问题,是求状态方程求解的问题。 你可以找本现代控制理论看下,里面有这种方程的求解公式。

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

s函数主要用在matlab的Simulink仿真系统中,用以提供一些自定义的仿真模块。既然是仿真,那么主要就是得到数值解。至于你说的“微分方程的解像y=2x”应该指的是解析解,解出来表达式的形式,这种的话matlab是可以做的,如dsolve函数,不过s

上面两题用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...

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