Undefined function or variable

3 vues (au cours des 30 derniers jours)
muharrem çevik
muharrem çevik le 10 Jan 2021
Commenté : muharrem çevik le 11 Jan 2021
I am getting this error even though I have defined the "mat" function in my code. "Undefined function or variable 'mat'." I did some research but I can't find the reason. Because the code is too long, I do not share it all, but I share the relevant part below. other parts of the code are working.
Thanks in advance for your answers.
counter=0;
converg=1;
while converg>0.01;
for j = 2:n-1
min = 1000;
for l = 2:m-1
if number(j,l)~=0 && number(j,l) < min
min = number(j,l);
end
end
for i = 2:m-1
if index(j,i)~=0
n2 = number(j,i);
n1 = n2 - min +1;
if n1 == 1
mat(n1,n1) = C(j,i);
mat(n1,n1+1) = E(j,i);
d(n1,1) = (-1) * (P(j-1,i) * N(j,i)+P(j+1,i)*S(j,i))+Q(j,i);
end
if n1 == max(number(j,:)) - min +1
mat(n1,n1) = C(j,i);
mat(n1,n1-1) = W(j,i);
d(n1,1) = (-1) * (P(j-1,i) * N(j,i)+P(j+1,i)*S(j,i))+Q(j,i);
end
if n1~=1 && n1 ~= max(number(j,:))-min+1
mat(n1,n1) = C(j,i);
mat(n1,n1-1) = W(j,i);
mat(n1,n1+1) = E(j,i);
d(n1,1) = (-1) * (P(j-1,i) * N(j,i)+P(j+1,i)*S(j,i))+Q(j,i);
end
end
end
Pwf = thm(mat,d);
for i = 2:m-1
if index(j,i)~=0
n2 = number(j,i);
n1 = n2 - min +1;
P(j,i) = Pwf(n1,1);
end
end
clear Ps
clear mat
clear d
end
Pdiff = abs(Pold - P);
converg = max(max(Pdiff));
Pold = P;
counter = counter + 1
end
  5 commentaires
Walter Roberson
Walter Roberson le 10 Jan 2021
min = number(j,l);
We recommend against using min or max as the names of variables, as it is very common to find that later in the same function one wants to use the min() or max() function. It also confuses readers, who would have to look carefully at the flow of code
muharrem çevik
muharrem çevik le 11 Jan 2021
Thank you. I will consider.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Get Started with Simulink 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!

Translated by