How do I loop a matrix with multiple changing variables ?

3 visualizaciones (últimos 30 días)
Mvdw
Mvdw el 2 de Mayo de 2016
Editada: Stephen23 el 2 de Mayo de 2016
I'm trying to fill in a matrix with 3 changing variables.
Example: I've got a dataset M, with 10 different values in each colon. So I say:
A= M(:,10)
B= M(:,11)
C= M(:,12)
I'm trying to fill these in into this matrix:
if true
% code
R = [A A+B A+C;
B+A B B+C;
C+A C+B C]
end
So for the first value A=1, B=2 and C=3 the matrix should look like:
if true
% code
[1 3 4;
3 2 5;
4 5 3]
end
How can I loop this so it will give me 10 matrices?
  1 comentario
Stephen23
Stephen23 el 2 de Mayo de 2016
Editada: Stephen23 el 2 de Mayo de 2016
Adam's answer is the way to go. Do NOT try to create or access multiple variable in a loop, this makes for very buggy and slow code:

Iniciar sesión para comentar.

Respuestas (1)

Adam
Adam el 2 de Mayo de 2016
R = [A; A+B; A+C; B+A; B; B+C; C+A; C+B; C];
will give you the 10 matrices as columns of R which can be reshaped to 3*3 if required. e.g.
R = reshape( R, [3 3 10] );
then R(:,:,1) will be the first upto R(:,:,10) the 10th.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by