我想解决微分方程。 MATLAB显示警告:
clear all
syms x f(x) theta
eq = (-6*x+(-7+theta)*f*diff(f,x))*(1+diff(f,x)^2)+x*f*(diff(f,x,x))==0
cond = f(0)==1
dsolve(eq,cond)
Warning: Explicit solution could not be found.
> In dsolve (line 201)
In dsolvef (line 5)
ans =
[ empty sym ]
有没有办法解决它?(分析或数字) 谢谢
答案 0 :(得分:0)
很有可能不存在符号解决方案。通常,具有符号解决方案的ODE集合是“瘦”的#34;因为符号可解的ODE的微小变化使其无法解决。
对于数值解法,请使用ode45
求解器或隐式解算器,例如ode15
。所有这些都需要一个ODE函数,它将ODE编码为显式的1阶系统。
function dz = derivs(x,z)
y=z(1); dy = z(2)
ddy = -(-6*x+(-7+theta)*y*dy)*(1+dy^2) / (x*y)
dz = [ dy ddy ]
end
另见类似主题: