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

1、使用dsolve求微分方程的解析解,只在一些比较简单的情况下能得到结果,很多情况下难以求出显式解。 2、在MATLAB 6.5上求解,可以求出,用时约一分钟,但表达式过于复杂,根本没有实用价值。 3、在R2012b上求解,花了十几分钟仍为求出,内存消...

那你可以把 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...

好像没什么特别好的办法: >> 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代入,再求解。

DSolve解不了这个方程组而已,没什么奇怪的。(非线性常微分方程没符号解的情形很常见。) 补足边界条件(你这方程需要四个你才给了两个),再试试NDSolve的话应该有点希望。

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能求出来的可能性微乎其微。 其实这个应该也不能算隐式微分方程吧?稍加整理,完全可以写成普通的二阶常微分方程的形式。 可以考虑用数值法求解,但需要提供所有的常数以及初值。

对于一般的微分方程用matlab的dsolve()函数命令求得其解析值(即函数表达式)。例如 1、求的解析值。 syms y(t) a Dy = diff(y); D2y = diff(y,2); dsolve(D2y == -a^2*y, y(0) == 1, Dy(pi/a) == 0) 运行结果 y=exp(-a*t*1i)/2 + exp(a*t*1i)...

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