Azzera filtri
Azzera filtri

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

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Image Analyst
Image Analyst il 16 Feb 2016
Try this:
B = reshape(A(:)', [], 2)
  2 Commenti
lauuser1
lauuser1 il 16 Feb 2016
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 il 16 Feb 2016
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by