2017-10-13 144 views
-1

我想解微分方程。 MATLAB顯示警告:dsolve 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 ] 

是否有解決這個問題的方式(分析或數值) 謝謝

+2

不要刪除和reask同樣的問題。你以前的問題→https://stackoverflow.com/q/46720078/ –

回答

0

有一個非常高的概率,沒有象徵性的解決方案存在?一般而言,具有符號解決方案的ODE集合是「薄」的,因爲符號可解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 

也見類似的主題: