How can I correct the error?

6 visualizaciones (últimos 30 días)
Yan Jin
Yan Jin el 22 de Feb. de 2019
%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);

Respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by