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

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

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

>> 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()函数,求出微分方程的解。 dsolve('Dp=0.2*p*(1-p/5)-0.21','p(0)=0') 其二,用plot()函数,绘出t~p(t)关系图 plot(t,p) 实现过程如下图:

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

提供一点信息供楼主参考: 1、使用dsolve求微分方程的解析解,只在一些比较简单的情况下能得到结果,很多情况下难以求出显式解。 2、在MATLAB 6.5上求解,可以求出,用时约一分钟,但表达式过于复杂,根本没有实用价值。 3、在R2012b上求解,花...

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

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