作业帮 > 综合 > 作业

Matlab中的循环累加

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/19 17:24:58
Matlab中的循环累加
我想实现这样的功能,把一列数每隔k个求和,比如R=7相当于把每星期的总数加起来.
我也知道应该用余数设置循环条件,无奈逻辑搞不好,总无限循环,代码如下:
R=7; %指定累加周期
n = length(data);
for k=1:fix(n/R)
sum=0;
for i=1:n
while rem(i,k)>0
sum=sum+data(i);
end
end
end
sum
function newData=sumR(Data,R)
r=rem(size(Data,1),R);%看行数是否为R的整数倍,rem为取余命令
if r~=0
    Data=[Data;zeros(R-r,size(Data,2))];%如果余数不为0,则给原矩阵补R-r行0元素.
end
[m n]=size(Data);%此时行数m为R的整数倍
newData=zeros(m/R,n);%创建一个新矩阵存放每R个元素的和
for i=1:n
    for j=1:m/R
   newData(j,i)=sum(Data(R*(j-1)+1:R*j,i));%求第i列每R个元素的和.
    end
end
end

我大概编了下.应该就是这样的,我就懒得测试了.成功了的话你改改求行元素的.