Borrar filtros
Borrar filtros

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

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by