Using loop to sum value of an array and summation
2 次查看(过去 30 天)
显示 更早的评论
I have 2000 row vector which each array has 1008 column.
I need to sum every array to only 4 column, so every 252 item, i sum it, so the array now has 4 column.
For example, i use only 1 row vector which has 12 column and every 3 item i sum it:
J=[1 2 3 4 5 6 1 2 3 4 5 6];
for i=1:length(J)
a=sum(J(1:3));
b=sum(J(4:6));
c=sum(J(7:9));
d=sum(J(10:12));
end
p0=[a b c d]
After that, i have to do summation:
for j=1:4
f=j*p0(j);
h(j)= sum(f);
end
h
I can call 'h' too like h(3) is 18.
I can do it for small input like this, how to code for big vector?
How to summation up to 2000 vector and can call every 'h'?
May i know, summation mostly start with 0, but looping with (for) command cannot do it, ''Array indices must be positive integers or logical values."
Is there any command to use to start with 0?
2 个评论
采纳的回答
Alan Stevens
2023-6-10
Here's one way:
J=[1 2 3 4 5 6 1 2 3 4 5 6];
step = 3;
ix = 1:step:numel(J);
for i = 1:numel(ix)
p(i) = sum(J(ix(i):ix(i)+step-1));
end
disp(p)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!