Undefined function or variable 'x'. Where the error are?
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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);
0 Kommentare
Akzeptierte Antwort
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.
0 Kommentare
Weitere Antworten (0)
Siehe auch
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!