mdsk.net
当前位置:首页 >> 我的MATLAB怎么没法计算微分方程了?为什么DsolvE... >>

我的MATLAB怎么没法计算微分方程了?为什么DsolvE...

这跟你使用的Matlab版本有关,教材上使用的Matlab低版本的,如Matlab 6.5。 用现在的Matlab,可以直接使用dsolve()就行了。即 >> dsolve('a*Dx+b*x=0') ans = C2/exp((b*t)/a) 上述命令在Matlab R2001a通过。

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

好像没什么特别好的办法: >> syms t q y; q=4*t^3;>> syms Dy>> eq=Dy-(q-2*t);>> y=dsolve(char(subs(eq)),'y(0)=5','t')y = t^4-t^2+5 也就是要先移项把微分方程写成等号右端为零的形式(需额外定义Dy),然后subs代入,再求解。

>> clear >> syms a b c d e; >> y=dsolve('a*D2y+b*Dy+c*y=0','y(0)=d','Dy(0)=e') y = (2*a*e + b*d + d*(b^2 - 4*a*c)^(1/2))/(2*exp((t*(b - (b^2 - 4*a*c)^(1/2)))/(2*a))*(b^2 - 4*a*c)^(1/2)) - (2*a*e + b*d - d*(b^2 - 4*a*c)^(1/2))/(...

syms t v=dsolve('Dv=(190.708-90.64*v^2)/47.27','v(0)=0','t'); t=0:0.00001:0.002; v=eval(v); plot(t,v) 使用这样的方法求解,但从结果看好像你的方程有问题!

对于相对简单的微分方程或微分方程组,可以dsolve()函数得到解析值(精确解)。 例①: >>syms x(t) a >>dsolve(diff(x) == -a*x) ans = C2*exp(-a*t) >>dsolve(diff(x) == -a*x, x(0) == 1) ans = exp(-a*t) 例②: syms y(t) a >> Dy = diff(y...

dsolve('Dc1+k1*c1','c1(0)=D/v1','t')

dsolve()求解微分方程后,使用ezplot()作图,参考代码: >> y = dsolve('Dy=y*cos(x)/(1+2*y^2)','y(0)=1','x');>> ezplot(y,[-10,10]) % [-10,10]为x区间

如果是常微分方程,可以用dsolve函数。该函数可以解单变量常微分方程或者多变量常微分方程组,所以5个变量也不在话下。调用格式如下:[y1,,yN]=dsolve(eqns)solvesthesystemofordinarydifferentialequationseqnsandassignsthesolutionstothevari...

在MATLAB中,由函数dsolve()解决常微分方程(组)的求解问题,其具体格式如下: r = dsolve('eq1,eq2,...', 'cond1,cond2,...', 'v') 'eq1,eq2,...'为微分方程或微分方程组,'cond1,cond2,...',是初始条件或边界条件,'v'是独立变量,默认的独...

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