小编chi*_*_16的帖子

使用百分比函数与accumarray

我有两个数组:

OTPCORorder = [61,62,62,62,62,62,62,62,62,62,62,62,65,65,...]
AprefCOR = [1,3,1,1,1,1,1,1,1,1,2,3,3,2,...]
Run Code Online (Sandbox Code Playgroud)

对于OTPCORorder中的每个元素,AprefCOR中都有一个对应的元素.我想知道每组唯一OTPCORorder的数字1的百分比如下:

OTPCORorder1 = [61,62,65,...]
AprefCOR1 = [1,0.72,0,...]
Run Code Online (Sandbox Code Playgroud)

我已经有了这个:

[OTPCORorder1,~,idx] = unique(OTPCORorder,'stable');
ANS = OTPCORorder1 = [61,62,65,...];
Run Code Online (Sandbox Code Playgroud)

我曾经使用过"accumarray",但我使用了"mean"或"sum"这样的功能:

AprefCOR1 = accumarray(idx,AprefCOR,[],@mean).';
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否存在一种方法来使用它,但是使用"prctile"函数或任何其他函数给出了特定元素的百分比,例如在这种情况下为"1".

非常感谢你.

arrays matlab percentage accumarray

6
推荐指数
1
解决办法
84
查看次数

计算独立组内不正确事件的概率

我有以下结构:

T = struct('Time',{20, 40, 50, 80, 120, 150, 190, 210, 250, 260, 270, 320, 350, 380, 385, 390, 395},...
           'Trial',{'correct','incorrect','incorrect','correct','correct','correct','incorrect','incorrect','correct','correct','correct','incorrect','incorrect','correct','correct','incorrect','incorrect'});
Run Code Online (Sandbox Code Playgroud)

我想执行以下两个任务:

  1. 我希望得到'incorrect'每100毫秒时间窗口(间隔)的概率.

    例如,对于第一个时间窗口,前100毫秒,有4个试验,2个是'incorrect'4个,所以它会是2/4 = 0.5

  2. 我想绘制每个100毫秒时间窗口概率的条形图.所述x轴是时间,而每个条形的宽度将是100毫秒,其高度为用于该特定窗口的概率.

我非常感谢任何帮助.

arrays matlab struct probability histogram

0
推荐指数
1
解决办法
46
查看次数