どのように計算させるのに99%のMATLAB?
-
24-09-2019 - |
質問
私はマトリクスをMATLABとが必要で、99%値です。つまり、この値になること99%の人がより大きい値です。必要がありまMATLABす。
解決
使用クォン機能ます。
Y = quantile(X,P);
Xが行列であり、Pは、スカラーまたは確率のベクトルです。例えば、P = 0.01場合、Yは列の値の99%が大きくなるように、各列の値のベクトルになります。
他のヒント
最も単純な解決にはその機能を利用する 分位点 として yukことを示唆.
Y = quantile(X,0.01);
しかし、が必要になりま 統計ツールボックス その機能を利用する 分位点.ソリューションに依存しないtoolboxesできるようにすること 分位点 電話の機能 PRCTILE, は、それぞれの内蔵機能 INTERP1Q めの計算である。一般の場合は2-D matrixを含まない NaN 価値観までを計算するたquantilesの各カラムは以下のコード:
P = 0.01; %# Your probability
S = sort(X); %# Sort the columns of your data X
N = size(X,1); %# The number of rows of X
Y = interp1q([0 (0.5:(N-0.5))./N 1]',S([1 1:N N],:),P); %'# Get the quantiles
このべきと同じ結果に呼びかけるとともに、 分位点, する必要がなく、他のtoolboxes.
あなたはStatistics Toolboxのを持っていない場合は、常にある
y=sort(x);
y(floor(length(y)*0.99))
または
y(floor(length(y)*0.01))
あなたが何を意味するかに依存します。
所属していません StackOverflow