how to solve set of differential equation Warning: Unable to find explicit solution. > In dsolve (line 190)
1 回表示 (過去 30 日間)
古いコメントを表示
syms A1(z) A2(z)
n1=1;
n2=1;
L=100;
deltak=2*pi/L;
ode1 = diff(A1) == i*n1*A1*A2*exp(-i*deltak*z);
ode2 = diff(A2) == i*n2*A1^2*exp(i*deltak*z);
cond1=A(0)==1
cond2=A(1)==0
dsolve([ode1,ode2],[cond1,cond2])
2 件のコメント
Walter Roberson
2020 年 3 月 10 日
A is not defined in your boundary conditions. Probably A(0) should be A1(0) and A(1) should be A2(0) but I cannot be sure.
採用された回答
その他の回答 (1 件)
Walter Roberson
2020 年 3 月 10 日
Ignoring the questionable boundary conditions for the moment:
That pair of equations has one closed form solution:
A1(z) = 0
A2(z) = constant that depends on boundary condition
There is also a more general solution that cannot be expressed explicitly -- not really a solution as such, but rather a set of conditions that A1 and A2 would have to satisfy in order for them to be solutions.
2 件のコメント
Walter Roberson
2020 年 3 月 10 日
Note that your boundary condition of A1(0)=1 rather than A1(0) = 0, rules out the degenerate form.
if the conditon are not been used it does not have even the solution
It has no closed form solution, just a description of what a solution would have to look like. The description looks like
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/276251/image.png)
MATLAB is not programmed to be able to find these general descriptions of solutions.
TL;DR: You cannot solve those symbolically.
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!