求教,根据A列的类别,求其他列对应行的和。

首先,第131列有4中类别,分别为1.2.3.4四种,前面利用语句按照升序排好,同时前面130列也按131列顺序排列。这一步处理好了!!!!问题来了:
其次,比如第131列第1行到第20行为1,那么我需要对前面1到130列的1到20行分别进行列相加;
第131列第21行到第40行为2,那么同理,需要对前面1:130列的21到40行分别进行列相加
以此类推到第131列为4!
请问这个语句该怎么写?

 采纳的回答

0 个投票

希望以下代码对你有帮助:
data = [1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
1 34 66 8 11
2 34 66 8 11
2 34 23 8 11
2 34 23 8 11
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 23 6 5
2 4 6 6 6
3 4 6 99 6
3 4 6 99 6
3 4 6 99 6
3 4 6 99 6
4 5 6 99 6
4 5 6 99 6
4 5 6 99 6
4 5 9 99 6
4 5 9 99 6
4 5 9 99 6
4 5 9 99 55];
% data = magic(12);
for ii = 1:4
data_goal = data(:,1);
data_cal = data;
data_cal(:,1) = [];
result_ii = find(data_goal==ii);
result(ii,:) = sum(data_cal(result_ii,:));
end

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 环境和设置 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!