很简单地,
A = rand(1000,2); %A换成你的矩阵B = reshape(A',4,[]);
C = var(B); %无偏方差
D = sum(C); %方差求和
假设数据在I1~I18,在别的单元格输入:
=SUM(((I1:I18<=180)(I1:I18>=90))I1:I18)
公式输入完成后按shift+ctrl+enter三键结束即可,
那么180~360数据之间的求和只要更改公式中的数据即可,
切记公式输入完成后按shift+ctrl+enter三键结束!
如图:
以下是一个递归分段求和函数 Su_m 的示例实现,用于计算 Start 至 End 之间的和,每 m 个数分一组:
function s = Su_m(Start, End, m)
% 递归分段求和函数
% 输入参数:
% - Start: 起始值
% - End: 结束值
% - m: 分组大小
% 输出参数:
% - s: Start至End之间的和
if End < Start % 如果End小于Start,返回0
s = 0;
elseif End - Start < m % 如果End和Start之间的差小于m,直接计算和
s = sum(Start:End);
else % 否则将[Start, End]分成若干个长度为m的子段进行递归求和
s = Su_m(Start, Start + m - 1, m) + Su_m(Start + m, End, m);
end
这个函数的思路是将 [Start, End] 这个区间分成若干个长度为 m 的子区间,然后对每个子区间递归地调用 Su_m 函数来计算子区间的和,最后将所有子区间的和相加得到整个区间的和。
需要注意的是,在递归调用 Su_m 函数时,第一个子区间的结束位置为 Start + m - 1,第二个子区间的起始位置为 Start + m。
以上就是关于matlab分段求矩阵方差后求和全部的内容,包括:matlab分段求矩阵方差后求和、EXCEL分段求和 如图,、请设计一个递归分段求和函数Su+m(int+Start,+int+End)用于计算Start至En等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)