How to loop half matrix

3 次查看(过去 30 天)
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.

采纳的回答

Jan
Jan 2021-5-15
for i = 2:nhx-1
for j = 2:(nhy + 1) / 2
Unew(i, j) = ...
Unew(i, nhy - j + 1) = Unew(i, j);
end
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by