How do I index a vector in a for loop? I should be able to call the first entry of the vector a with a(1); however, I get an error when I have this as my for requirement. The error says unbalanced or unexpected parenthesis.
Here is a simplified version of my code.
a = [1 2 3]; b = [4 5 6];
for a(1) AND b(1);
suma = a + 1;
sumb = b +1;
end

 Réponse acceptée

Star Strider
Star Strider le 31 Juil 2017

0 votes

I do not understand what you want to do.
One of these should work:
a = [1 2 3]; b = [4 5 6];
for k = 1:min([numel(a) numel(b)])
suma = a(k) + 1;
sumb = b(k) + 1;
end
or:
suma = 0; sumb = 0;
for k = 1:min([numel(a) numel(b)])
suma = a(k) + suma;
sumb = b(k) + sumb;
end
or:
suma = sum(a);
sumb = sum(b);
or maybe something else ...

3 commentaires

Justine Schneider
Justine Schneider le 31 Juil 2017
Thank you. This answer seems to be in the right direction.
What is the min in:
for k = 1:min([numel(a) numel(b)])
Justine Schneider
Justine Schneider le 31 Juil 2017
... from your first MATLAB code answer.
Star Strider
Star Strider le 31 Juil 2017
That simply prevents the index from reading a shorter vector beyond the number of elements it has. (Here, they are both the same size.)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by