How do I loop a matrix with multiple changing variables ?

3 vues (au cours des 30 derniers jours)
Mvdw
Mvdw le 2 Mai 2016
Modifié(e) : Stephen23 le 2 Mai 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 commentaire
Stephen23
Stephen23 le 2 Mai 2016
Modifié(e) : Stephen23 le 2 Mai 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:

Connectez-vous pour commenter.

Réponses (1)

Adam
Adam le 2 Mai 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.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by