Azzera filtri
Azzera filtri

There is a mistake while using condtional and for loop condtion.i got the value zero only. but i want values and here, A is subdiagonal, B is diagonal and C is superdiagonal.

1 visualizzazione (ultimi 30 giorni)
xmax=1; ymax=20; dx=0.05; dy=0.25; dt=0.02;m=xmax/dx; n=ymax/dy; UOLD=zeros(m,n); VOLD=zeros(m,n);
for j=1:n
if i==2:m
C(i)=V(i,j)*dt/4*dy-dt/2*(dy)^2;
elseif i==1:m-1
A(i)=-V(i,j)*dt/4*dy-dt/2*(dy)^2;
elseif i==1:m
B(i)=1+U(i,j)*dt/2*dx+dt/(dy)^2;
end
end
  2 Commenti

Accedi per commentare.

Risposte (1)

Atsushi Ueno
Atsushi Ueno il 24 Dic 2022
The inside of the if sentence is never be executed even if i takes any value.
i = 3;
if i == 2:5
disp('true');
end
i == 2:5
ans = 1×4 logical array
0 1 0 0
if [0 1 0 0]
disp('true');
else
disp('false');
end
false
if [1 1 1 1]
disp('true');
else
disp('false');
end
true

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by