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

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by