How can I correct the error?
6 views (last 30 days)
Show older comments
%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 Comments
Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!