Undefined function or variable 'x'. Where the error are?
28 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Katarina Santiago
le 16 Déc 2017
Réponse apportée : Star Strider
le 16 Déc 2017
Hi,
The matlab point this error: Error in crime_back_forw11_12 (line 93) n22 = -m-beta*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))-alpha*(0.5*(x1(j)+x1(j-1)))*(u1(j))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+alpha*(0.5*(x1(j)+x(j-1)))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+(u2(j))*gama*(lambda2(j)-h2*n12-lambda3(j)-h2*n13); Undefined function or variable 'x' >> My algorithm is: function y = crime_back_forw11_12
test = -1;
tf= 3; mu = 0.001; M = 999; t = linspace(0,1,M+1); h = 1/M; h2 = h/2;
beta=0.1; alpha=0.7; gama=0.03; delta=0.7; epsilon=0.3; m=100; n=100; p=50; d=25;
x1= zeros(1,M+1); x2= zeros(1,M+1); x3= zeros(1,M+1);
u1= zeros(1,M+1); u2= zeros(1,M+1); u3= zeros(1,M+1);
lambda1 = zeros(1,M+1); lambda2 = zeros(1,M+1); lambda3 = zeros(1,M+1);
x1(1) = 0.0555; x2(1) = 0.0003; x3(1) = 0.0004;
while(test < 0)
oldu1 = u1;
oldu2 = u2;
oldu3 = u3;
oldx1 = x1;
oldx2 = x2;
oldx3 = x3;
oldlambda1 = lambda1;
oldlambda2 = lambda2;
oldlambda3 = lambda3;
for i = 1:M
m11 = beta*x2(i)-alpha*x1(i)*x2(i)*(1-u1(i))+u3(i)*epsilon*x3(i);
m12 = -beta*x2(i)+alpha*x1(i)*x2(i)*(1-u1(i))-u2(i)*gama*x2(i)+(1-u3(i))*delta*x3(i);
m13 = u2(i)*gama*x2(i)-(1-u3(i))*delta*x3(i)-u3(i)*epsilon*x3(i);
m21 = beta*(x2(i)+h2*m12)-alpha*(x1(i)+h2*m11)*(x2(i)+h2*m12)*(1-0.5*(u1(i)+u1(i+1)))+0.5*(u3(i)+u3(i+1))*epsilon*(x3(i)+h2*m13);
m22 = -beta*(x2(i)+h2*m12)+alpha*(x1(i)+h2*m11)*(x2(i)+h2*m12)*(1-0.5*(u1(i)-u1(i+1))-0.5*(u2(i)-u2(i+1))*gama*(x2(i)+h2*m12)+(1-0.5*(u3(i)-u3(i+1)))*delta*(x3(i)+h2*m13));
m23 = 0.5*(u2(i)-u2(i+1))*gama*(x2(i)+h2*m12)-(1-0.5*(u3(i)+u3(i+1))*delta*(x3(i)+h2*m13)-(u3(i)+u3(i+1))*epsilon*(x3(i)+h2*m13));
m31 = beta*(x2(i)+h2*m22)-alpha*(x1(i)+h2*m21)*(x2(i)+h2*m22)*(1-0.5*(u1(i)+u1(i+1)))+0.5*(u3(i)+u3(i+1))*epsilon*(x3(i)+h2*m23);
m32 = -beta*(x2(i)+h2*m22)+alpha*(x1(i)+h2*m21)*(x2(i)+h2*m22)*(1-0.5*(u1(i)-u1(i+1))-0.5*(u2(i)-u2(i+1))*gama*(x2(i)+h2*m22)+(1-0.5*(u3(i)-u3(i+1)))*delta*(x3(i)+h2*m23));
m33 = 0.5*(u2(i)-u2(i+1))*gama*(x2(i)+h2*m22)-(1-0.5*(u3(i)+u3(i+1))*delta*(x3(i)+h2*m23)-(u3(i)+u3(i+1))*epsilon*(x3(i)+h2*m23));
m41 = beta*(x2(i)+h2*m32)-alpha*(x1(i)+h2*m31)*(x2(i)+h2*m32)*(1-u1(i+1))+u3(i+1)*epsilon*(x3(i)+h2*m33);
m42 = -beta*(x2(i)+h2*m32)+alpha*(x1(i)+h2*m31)*(x2(i)+h2*m32)*(1-u1(i+1))-u2(i+1)*gama*(x2(i)+h2*m32)+(1- u3(i+1))*delta*(x3(i)+h2*m33);
m43 = u2(i+1)*gama*(x2(i)+h2*m32)-(1-(u3(i+1)))*delta*(x3(i)+h2*m33)-u3(i+1)*epsilon*(x3(i)+h2*m33);
x1(i+1) = x1(i) + (h/6)*(m11 + 2*m21 + 2*m31 + m41);
x2(i+1) = x2(i) + (h/6)*(m12 + 2*m22 + 2*m32 + m42);
x3(i+1) = x3(i) + (h/6)*(m13 + 2*m23 + 2*m33 + m43);
end
for i = 1:M
j = M + 2 - i;
n11 = alpha*x2(j)*(1-u1(j))*(lambda1(j)-lambda2(j));
n12 = -m-beta*(lambda1(j)-lambda2(j))-alpha*x1(j)*u1(j)*(lambda1(j)-lambda2(j))+alpha*x1(j)*(lambda1(j)-lambda2(j))+gama*u2(j)*(lambda2(j)-lambda3(j));
n13 = u3(j)*epsilon*(lambda3(j)-lambda1(j))+(1-u3(j))*delta*(-lambda2(j)+lambda3(j));
n21 = alpha*(0.5*(x2(j)+x2(j-1)))*(1-u1(j))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n11));
n22 = -m-beta*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))-alpha*(0.5*(x1(j)+x1(j-1)))*(u1(j))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+alpha*(0.5*(x1(j)+x(j-1)))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+(u2(j))*gama*(lambda2(j)-h2*n12-lambda3(j)-h2*n13);
n23 = u3(j)*epsilon*((lambda3(j)-h2*n13)-(lambda1(j)-h2*n11))+(1-(u3(j)))*delta*((-lambda2(j)-h2*n12)+(lambda3(j)-h2*n13));
n31 = alpha*0.5*(x2(j)+x2(j-1))*(1-u1(j))*((lambda1(j)-h2*n21)-(lambda2(j)-h2*n21));
n32 = -m-beta*((lambda1(j)-h2*n21)-(lambda2(j)-h2*n22))-alpha*0.5*(x1(j)+x1(j-1))*(u1(j))*((lambda1(j)-h2*n21)-(lambda2(j)-h2*n22))+alpha*0.5*(x1(j)+x(j-1))*((lambda1(j)-h2*n21)-(lambda2(j)-h2*n22))+(u2(j))*gama*(lambda2(j)-h2*n22-lambda3(j)-h2*n23);
n33 = u3(j)*epsilon*((lambda3(j)-h2*n23)-(lambda1(j)-h2*n21))+(1-(u3(j)))*delta*((-lambda2(j)-h2*n22)+(lambda3(j)-h2*n23));
n41 = alpha*(x2(j-1))*(1-u1(j))*((lambda1(j)-h2*n31)-(lambda2(j)-h2*n31));
n42 = -m-beta*((lambda1(j)-h2*n31)-(lambda2(j)-h2*n32))-alpha*(x1(j-1))*(u1(j))*((lambda1(j)-h2*n31)-(lambda2(j)-h2*n32))+alpha*(x1(j-1))*((lambda1(j)-h2*n31)-(lambda2(j)-h2*n32))+(u2(j))*gama*(lambda2(j)-h2*n32-lambda3(j)-h2*n33);
n43 = u3(j)*epsilon*((lambda3(j)-h2*n33)-(lambda1(j)-h2*n31))+(1-(u3(j)))*delta*((-lambda2(j)-h2*n32)+(lambda3(j)-h2*n33));
lambda1(j-1) = lambda1(j) - h/6*(n11 + 2*n21 + 2*n31 + n41);
lambda2(j-1) = lambda2(j) - h/6*(n12 + 2*n22 + 2*n32 + n42);
lambda3(j-1) = lambda3(j) - h/6*(n13 + 2*n23 + 2*n33 + n43);
0 commentaires
Réponse acceptée
Star Strider
le 16 Déc 2017
Here:
n22 = -m-beta*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))-alpha*(0.5*(x1(j)+x1(j-1)))*(u1(j))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+alpha*(0.5*(x1(j)+x(j-1)))*((lambda1(j)-h2*n11)-(lambda2(j)-h2*n12))+(u2(j))*gama*(lambda2(j)-h2*n12-lambda3(j)-h2*n13);
↑
It needs to be ‘x1’, or ‘x2’ or one of the others.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Transportation Engineering dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!