Error "not enough input arguments" in length function

I am trying to run a code but receiving an error at the 4th line with 'not enough input' for the length function. What can be inserted in further to remove the error.
function [coef] = ComputeCurve_EDIT (SUBJRAWSubj1S1)
coef = [];
i = 1; % matrix row index
NRrows = Length (SUBJRAWSubj1S1);
while (i <= NRrows) % while not end of matrix
x = []; % initialize to-be-filled vectors
y = [];
xnorm = [];
ynorm = [];
n = i; % keeps track of the number of samples on a given trial
trialNR = SUBJRAWSubj1S1 (i, 1);
while (SUBJRAWSubj1S1 (i, 1) == trialNR) % fill x and y coordinate vectors
x = [x; SUBJRAWSubj1S1 (i, 2)];
y = [y; SUBJRAWSubj1S1 (i, 3)];
i = i + 1;
if (i> NRrows)
break
end
end

3 件のコメント

dpb
dpb 2020 年 5 月 13 日
編集済み: dpb 2020 年 5 月 13 日
Spell "length" correctly ... MATLAB is case-sensitive and you capitalized it...
NB: length() is potentially dangerous unless it is used on only vectors -- it returns max(size(x)) which for a 2D input can be either size(x,1) or size(x,2) depending on whether is taller or wider in aspect.
Use size(x,D) for the dimension of interest for more reliable code.
Tanaya Chatterjee
Tanaya Chatterjee 2020 年 6 月 21 日
hello, thank you for your response.
I have a data with three columns with around 150 rows. trial number, x position and y position.
I want matlab to screen throught the length/ size of the rows in the columns and assign that variable as Nrows. What do you think should be the 'D' in size(x,D) because when i try size(x) it is returning not enough input argument.
Thank you for your help!
dpb
dpb 2020 年 6 月 21 日
As said, if you are concerned about the rows, that's dimension 1 so the 'D' argument to size would be one.

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

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

質問済み:

2020 年 5 月 13 日

コメント済み:

dpb
2020 年 6 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by