[Matlab]使用符号函数symfun和dsolve函数解常微分方程(组)

dsolve的常见用法示例:

>> dsolve('Dy = y + 1','x') 
警告: Support of character vectors and strings will be removed in a future release. Use sym objects to define differential equations instead. 
> 位置:dsolve (第 126 行) 
 
ans =
 
C1*exp(x) - 1

如果你使用字符串作为dsolve的eqn实参,matlab会给你警告:字符串型的实参未来将不被支持
因此你需要一个更加可靠的方法,那就是使用symfun作为eqn实参,例子如下:

>>syms x y(t);
eq1=(diff(y,t)+t^2==0);
cond1=(y(1)==0);
Sol=dsolve(eq1,cond1)
 
Sol =
 
1/3 - t^3/3

方程组的情况同理,eqn和condn是同维数向量即可


版权声明:本文为PriceCheap原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。