loops
4 次查看(过去 30 天)
显示 更早的评论
Hello,
I have the following problem in Matlab: Consider dataset a, with the following two columns:
0 / 0
0 / 0
1 / 0
1 / 0
1 / 9
0 / 0
-1 / 0
-1 / 4
0 / 0
My problem is that the value 9 has to be spread equally during the time that column 1 is equal to 1. The same has to be done with the value 4 during the time that column 1 is equal to -1. The result I have to obtain is the following:
0 / 0
0 / 0
1 / 3
1 / 3
1 / 3
0 / 0
-1 / 2
-1 / 2
0 / 0
Thanks,
Pieter
采纳的回答
the cyclist
2011-4-12
Guessing this is homework, but not sure, so I will give you a solid kick in the right direction. Here is part of what you need to do, with a lot of assumptions about things you were not specific about.
A = [0 0; 0 0; 1 0; 1 0; 1 9; 0 0; -1 0; -1 4; 0 0];
indexToOnes = (A(:,1)==1);
numberOfOnes = sum(indexToOnes);
valueToDistribute = max(A(indexToOnes,2));
A(indexToOnes,2) = valueToDistribute/numberOfOnes
It does not handle the -1 part, which maybe you can figure out for yourself.
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!