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
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!