In regard to contour error
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
uhm.. it is so long. but i want to receive advice
x=25:50;
nx=length(x)
y=25:50;
ny=length(y)
h=1;
for i=25:50
for j=25:50
v(i,j)=0;
npbc(i,j)=0;
roh(i,j)=0;
perm(i,j)=8.854e-12;
end
end
for i=25:50
npbc(i,25)=2;
end
for j=25:50
npbc(i,1)=3;
end
for j=25:50
v(50,j)=0;
npbc(50,j)=1;
end
for i=25:50
v(i,50)=100;
npbc(i,50)=1;
end
v(50,50)=50;
npbc(50,50)=1;
k=0;
eps=1.e-07;
alpha=1.5;
reler=eps+1;
while reler>eps
k=k+1
vsum=0;
chgsum=0;
for i=25:50
for j=25:50
id=npbc(i,j);
if id ==1, continue, end
old=v(i,j);
switch id
case 0
v1=v(i-1,j);
v2=v(i+1,j);
v3=v(i,j-1);
v4=v(i,j+1);
case 2
v1=v(i+1,j);
v2=v(i+1,j);
v3=v(i,j-1);
v4=v(i,j+1);
case 3
v1=v(i-1,j);
v2=v(i+1,j);
v3=v(i,j+1);
v4=v(i,i+1);
otherwise
v1=v(i+1,j);
v2=v(i+1,j);
v3=v(i,j+1);
v4=v(i,j+1);
end
v(i,j)=(v1+v2+v3+v4+h*h*roh(i,j)/perm(i,j))/4;
chg=v(i,j)-old;
v(i,j)=old+alpha*chg;
chgsum=chgsum+abs(chg);
vsum=vsum+abs(v(i,j));
end
end
reler=chgsum/vsum;
end
%
contour(x,y,v,30)
xlabel('x')
ylabel('y')
Error using contour (line 81) The size of X must match the size of Z or the number of columns of Z.
Error in FDM_laplace_matlab11111 (line 75) contour(x,y,v,30)
0 commentaires
Réponses (1)
Martin Schätz
le 15 Oct 2015
Your size of v is 50x50, and you want to get element 51 (v2=v(i+1,j) and i=50). If you want to use code as that you have to change end of your for cycle to 49.
0 commentaires
Voir également
Catégories
En savoir plus sur Triangulation Representation 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!