求教,根据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!
请问这个语句该怎么写?

 Accepted Answer

0 votes

希望以下代码对你有帮助:
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

More Answers (0)

Categories

Find more on 环境和设置 in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!