too many input arguments

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 Comments

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

Sign in to comment.

 Accepted Answer

Stephen23
Stephen23 on 6 Nov 2018
Edited: Stephen23 on 6 Nov 2018
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 Comments

oh it works thanks but why does this work and not prctile(cell2mat(TM{:,7}),70)?
"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:

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!