Info
此问题已关闭。 请重新打开它进行编辑或回答。
How to do this
1 次查看(过去 30 天)
显示 更早的评论
Suppose I have a sequence of n numbers
e=[5,4,45,63,22,22,1,12,3,2,2,16,14,14,16,17,1,19,21,15,32,32,27,27,43,41,7,8,13,23,23]
then for first 10 numbers i.e.
[5,4,45,63,22,22,1,12,3,2]
count numbers other than 1 to 5 and then divide by 10, i.e.
[45,63,22,22,12]
total 5, so result should be 5/10,now for first 20 numbers i.e.
[5,4,45,63,22,22,1,12,3,2,2,16,14,14,16,17,1,19,21,15]
then
[45,63,22,22,12,16,14,14,16,17,19,21,15]
total =13, so 13/20, like this for first 30,40,50...upto n numbers
and then plot figure with x axis points 0 10 20 30....n and y axis with 5/10,13/20..... how to do this
0 个评论
回答(1 个)
Guillaume
2016-5-11
编辑:Guillaume
2016-5-12
Have you tried using a loop? It would be very straightforward.
Alternatively:
e=[5,4,45,63,22,22,1,12,3,2,2,16,14,14,16,17,1,19,21,15,32,32,27,27,43,41,7,8,13,23,23]
countinout = accumarray([ceil((1:numel(e))/10); 2-(e>5)]', e, [], @numel);
ratioin = cumsum(countinout(:, 1)) ./ (1:size(countinout(:,1)))' ./ 10;
plot((0:numel(ratioin)-1)*10, ratioin)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!