Undefined function or variable 'x'. Where the error are?

28 Ansichten (letzte 30 Tage)
Katarina Santiago
Katarina Santiago am 16 Dez. 2017
Beantwortet: Star Strider am 16 Dez. 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);

Akzeptierte Antwort

Star Strider
Star Strider am 16 Dez. 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.

Weitere Antworten (0)

Kategorien

Mehr zu Transportation Engineering finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by