How can I correct the error?
조회 수: 6 (최근 30일)
이전 댓글 표시
%randtool—creating uniform distributions for each paramter
%solve the equation system for 100 times
for i=1:100
%define the variables in the equation system
syms X1 X2 L2
%for each parameter, ask Matlab to randomly choose a number from its own interval
p1=datasample(p1U,i);
p2=datasample(p2U,i);
aH=datasample(aHU,i);
bH=datasample(bHU,i);
m=datasample(mU,i);
Y1=datasample(Y1U,i);
Y2=datasample(Y2U,i);
L=datasample(LU,i);
lamdaH=datasample(lamdaHU,i);
lamdaL=datasample(lamdaLU,i);
AH=datasample(AHU,i);
AL=datasample(ALU,i);
q=datasample(qU,i);
er=datasample(erU,i);
phiH=datasample(phiHU,i);
phiL=datasample(phiLU,i);
%define the equation system
condition1=((1-q).*lamdaL.*exp(-lamdaL.*X1)+q.*lamdaH.*exp(-lamdaH.*X1)).*p1.*(1-aH).*Y1-m==0;
condition2=((1-q).*lamdaL.*exp(-lamdaL.*X2)+q.*lamdaH.*exp(-lamdaH.*X2)).*p2.*(1-bH).*Y2-m==0;
condition3=(bH+(1-bH).*((1-q).*(1-exp(-lamdaL.*X2))+q.*(1-exp(-lamdaH.*X2)))).*p2.*Y2-(aH+(1-aH).*((1-q).*(1-exp(-lamdaL.*X1))+q.*(1-exp(-lamdaH.*X1)))).*p1.*Y1+q.*phiH+(1-q).*phiL+(X1-X2).*m-(q.*AH+(1-q).*AL).*er.*L2.^(er-1)==0;
%solve the equation system
sol = vpasolve([condition1==0, condition2==0, condition3==0],[X1,X2,L2],[20,1,8]) %pay attention to the starting value you choose
rho(i)=sol.L2(i)./L(i) %for each i, calculate the share of planting CRISPR rice rho
end
sol =
struct with fields:
X1: [1×1 sym]
X2: [1×1 sym]
L2: [1×1 sym]
rho =
0.40819543575621442044874323059121
Error using mupadengine/feval (line 187)
More equations than variables is only supported for polynomial systems.
Error in sym/vpasolve (line 172)
sol = eng.feval('symobj::vpasolve',eqns,vars,X0);
댓글 수: 0
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!