How to extract columns of a matrix using a for loop?

1 vue (au cours des 30 derniers jours)
RG
RG le 28 Avr 2016
Commenté : Star Strider le 28 Avr 2016
Hi Everyone,
I have a 3x6 matrix and trying to extract 1st and 3rd, 2nd and 5th, 3rd and 6th column using a loop. The matrix is:
polygon_nf =
0.0185 0.0192 0.0207 0.0185 0.0192 0.0207
0.0241 0.0236 0.0239 0.0241 0.0236 0.0239
0.0185 0.0192 0.0207 0.0241 0.0236 0.0239
The loop I have so far is:
for i=1:3
x_nf=polygon_nf(:,i);
y_nf=polygon_nf(:,i+3);
end
When I try to display x_nf and y_nf values from within the loop I get 6 columns that I want, however, when I display the results after the loop has finished, I only get 2 columns. And when I try to put x_nf(i) and y_nf(i) instead of x_nf and y_nf inside the loop, I get an error saying:
In an assignment A(I) = B, the number of elements in B and I must be the same.
Any help on this issue would be highly appreciated.

Réponse acceptée

Star Strider
Star Strider le 28 Avr 2016
You need to subscript the left-side variables in your assignments as well:
for i=1:3
x_nf(:,i)=polygon_nf(:,i);
y_nf(:,i)=polygon_nf(:,i+3);
end
  4 commentaires
RG
RG le 28 Avr 2016
Modifié(e) : RG le 28 Avr 2016
Thanks for the alternative version.
The reason I thought of using loop was that in my code I want to run it more than three times (the input matrix is 3 x n), but again, thanks for the suggestion, it is highly appreciated.
Star Strider
Star Strider le 28 Avr 2016
My pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical 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