Im using prctile() to find the 70th percentile of 1300 elements, but matlab returns error too many input arguments. How can i fix this? Thanks

8 件のコメント

madhan ravi
madhan ravi 2018 年 11 月 6 日
Show how your calling the function
Elie Elias
Elie Elias 2018 年 11 月 6 日
prctile(TM{:,7},70)
madhan ravi
madhan ravi 2018 年 11 月 6 日
size(TM{:,7})
Try the above and paste the result here
Elie Elias
Elie Elias 2018 年 11 月 6 日
編集済み: Elie Elias 2018 年 11 月 6 日
it says Too many input arguments too but size (TM) returns 1315
Elie Elias
Elie Elias 2018 年 11 月 6 日
TM is a 1315x7 cell array
madhan ravi
madhan ravi 2018 年 11 月 6 日
Try
prctile(cell2mat(TM{:,7}),70)
Elie Elias
Elie Elias 2018 年 11 月 6 日
still too many arguments
Elie Elias
Elie Elias 2018 年 11 月 6 日
i tried to do
v=zeros(size(TM,1),1);
v=cell2mat(TM{:,7})
but it still says Too many input arguments

サインインしてコメントする。

 採用された回答

Stephen23
Stephen23 2018 年 11 月 6 日
編集済み: Stephen23 2018 年 11 月 6 日

0 投票

The first input to prctile must be numeric (double or single). So your cell array will need to be converted to numeric. You wrote that TM is a cell array, but you have not given us any description of how the data is arranged inside that cell array. This makes it hard to help you, as we have to guess.
If TM is a cell array that contains scalar numeric data in each cell of the seventh column, then try this:
prctile(cell2mat(TM(:,7)),70)

2 件のコメント

Elie Elias
Elie Elias 2018 年 11 月 6 日
oh it works thanks but why does this work and not prctile(cell2mat(TM{:,7}),70)?
Stephen23
Stephen23 2018 年 11 月 6 日
"oh it works thanks but why does this work and not prctile(cell2mat(TM{:,7}),70)?"
Because using curly braces creates a comma-separated list. Read these to know more:

サインインしてコメントする。

その他の回答 (0 件)

質問済み:

2018 年 11 月 6 日

コメント済み:

2018 年 11 月 6 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by