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!