How to loop half matrix

2 vues (au cours des 30 derniers jours)
Mohammad Ezzad Hamdan
Mohammad Ezzad Hamdan le 15 Mai 2021
for i=2:nhx-1
for j=2:nhy-1
Unew(i,j) = U(i,j)-dt*(P(i+1,j)-P(i-1,j))/(2*hx)...
+nu*dt*(1/(hx*hx)*(U(i+1,j)-2.*U(i,j)+U(i-1,j))...
+1/(hy*hy)*(U(i,j+1)-2.*U(i,j)+U(i,j-1)))...
-dt*U(i,j)/(hx)*(U(i,j)-U(i-1,j))...
-dt*V(i,j)/(2*hy)*(U(i,j+1)-U(i,j-1));
end
end
Hi, the Unew produce something like this "1 2 3 4 5 4 3 2 1" as an example. I would like to calculate just half of the j domain so that Unew will produce "1 2 3 4 5" and the following ''4 3 2 1" will just be reflected from "1 2 3 4" in order to shorten the running time.

Réponse acceptée

Jan
Jan le 15 Mai 2021
for i = 2:nhx-1
for j = 2:(nhy + 1) / 2
Unew(i, j) = ...
Unew(i, nhy - j + 1) = Unew(i, j);
end
end
  1 commentaire
Mohammad Ezzad Hamdan
Mohammad Ezzad Hamdan le 16 Mai 2021
Thanks Jan!!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Optimization Toolbox 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