3
변수 eqn1과 eqn2에 의해 주어진 미분 방정식의 시스템을 풀려고합니다.Matlab : 조건이 작동하지 않는 dsolve
lambda1 = 3;
lambda2 = 2;
gamma1 = 1;
gamma2 = 1;
delta1 = 1;
delta2 = 1;
syms n1(t) n2(t)
eqn1 = diff(n1) == (lambda1 - gamma1)*n1 - delta1*(n1 + n2)*n1;
eqn2 = diff(n2) == (lambda2 - gamma2)*n2 - delta1*(n1 + n2)*n2;
c1 = n1(0) == 10;
c2 = n2(0) == 10;
[a, b] = dsolve(eqn1, eqn2, c1, c2)
나는 조건 (C1)을 지정하고 C2 그냥 실행되지 않는 경우 :
[a, b] = dsolve(eqn1, eqn2)
을 한 후 모든 것이 잘 내가 얻을 :
a =
(6*exp(2*t)*n1(0))/(3*exp(2*t)*n1(0) + 4*exp((3*t)/2)*n2(0) + 6)
b =
(6*exp(t/2)*exp(t)*n2(0))/(3*exp(2*t)*n1(0) + 4*exp((3*t)/2)*n2(0) + 6)
을하지만 최대한 빨리하려고으로 소스 코드에서 볼 수 있듯이 n1 (0)과 n2 (0)을 지정하기 위해 다음과 같은 경고 메시지가 표시됩니다.
a =
Warning: The result cannot be displayed due a previously interrupted computation or out of memory. Run 'reset(symengine)' and rerun the commands to regenerate the result.
> In sym.disp at 36
In sym.display at 37
In competingForResources at 15
b =
[]
그리고 결과를 플로팅 할 수 없습니다. 나는 거기에서 무엇을 놓치고 있습니까? 올바른 방법으로 조건을 지정하는 방법, 그래서 결과를 얻을 수 있습니까?