Save FOR loop values in a matrix or a vector

I have the following function with two FOR loops:
function Y = rot_mat(X)
n = sqrt(numel(X))
for x = 1:n
for y = 1:n
x_rot = x+y-1
y_rot = n-x+y
end
end
I am trying to save all the n x n values [x_rot, y_rot] in a vector or a n x n matrix. Could anyone, please, give me a hint on how to do that?

回答 (1 件)

Image Analyst
Image Analyst 2014 年 7 月 3 日
編集済み: Image Analyst 2014 年 7 月 3 日

0 投票

Use x_rot(x,y) and y(rot(x,y).
By the way, you need to assign Y or else your function cannot be called.

3 件のコメント

Image Analyst
Image Analyst 2014 年 7 月 3 日
Regarding your edit, if you want an n^2 by 2 matrix, do this:
xy = [x_rot(:), y_rot(:)];
after your for loops conclude.
Agent Cooper
Agent Cooper 2014 年 7 月 3 日
I'm sorry, but if I use the
xy = [x_rot(:), y_rot(:)];
after the FOR loops I get only one pair of [x_rot, y_rot] (only the 2 last values).
Ben11
Ben11 2014 年 7 月 3 日
Maybe something like that:
xy(x,y) = [x_rot(x,y),y(rot(x,y)];

この質問は閉じられています。

質問済み:

2014 年 7 月 3 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by