質問

私はマトリクスを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))

あなたが何を意味するかに依存します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top