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

 Risposta accettata

Star Strider
Star Strider il 31 Lug 2017
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 Commenti

Justine Schneider
Justine Schneider il 31 Lug 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 il 31 Lug 2017
... from your first MATLAB code answer.
Star Strider
Star Strider il 31 Lug 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.)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by