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通过。

要完成你的问题。首先,声明变量要完整,即syms t k;其二,已知x的表达式,计算xf,应用eval()函数命令来计算,即xf=eval(xf)。完整的代码如下: syms t k y = 2 + 3 * sin(4 * t + pi / 4); x = dsolve('Dx + l * x - y = 0', 'x(0) = 0', '...

对于相对简单的微分方程或微分方程组,可以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...

那你可以把 c首先设为一个常数 调试一下 可能是 积分最后的一个 不定常数搞得怪

>> 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) 使用这样的方法求解,但从结果看好像你的方程有问题!

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

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

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

因为matlab使用dsolve函数求解微分方程时,系统默认自变量为 t 。如自变量为 x 时,其方程的解应这样来求。 >> dsolve('Dy-x-y=0','y(1)=2','x') ans = (4*exp(x))/exp(1) - x - 1

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