How to use loop to distribute values from one matrix to another matrix in a certain order?

1 回表示 (過去 30 日間)
For example, let's say I have a 3x2 matrix called A and a 3x2 matrix called B. I want the first number in A (1st row, 1st column) to go to the first number in B (1st row, 1st column). However, I want the second number in A (1st row, 2nd column) to go to the 2nd row 1st column of B. I want the third number of A (2nd row, 1st column) to go to the 3rd row 1st column of B.
Is there a single code I can use or would I have to use multiple lines of codes? I know I can probably use loop or for loop, but how exactly?
(Visually it should look something like this)
A = 2 5
8 4
5 6
B = 2 4
5 5
8 6

採用された回答

Image Analyst
Image Analyst 2016 年 2 月 16 日
Try this:
B = reshape(A(:)', [], 2)
  2 件のコメント
lauuser1
lauuser1 2016 年 2 月 16 日
That works exactly how I want it to, however is there any way to incorporate the loop function? Would it be any different if A was a different size than B?
Image Analyst
Image Analyst 2016 年 2 月 16 日
I guess you could use for loops if you want.
You can specify the number of columns for 2 as the last argument. It does not need to be the same as A but the total number of elements in B must be the same as A of course.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by