Why my function do not work and gives me an error message?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
AN NING
am 29 Jan. 2018
Kommentiert: AN NING
am 29 Jan. 2018
function [y] = SEM(x)
% Find out the each column of standard error for a matrix
% x should be a nxm matrix or 1xm
y = nanstd(x)./sqrt(length(x) - sum(isnan(x)));
disp(y);
end
Command window:
>> x=weightm;
>> y=SEM(x)
Subscript indices must either be real positive integers or logicals. Error message: Subscript indices must either be real positive integers or logicals.
1 Kommentar
Morteza Hajitabar Firuzjaei
am 29 Jan. 2018
Dear friend,
you used indices, you should make sure you are using integers as indices or make sure you are using vectors or matrices
best wishes
Morteza Hajitabar Firuzjaei
Akzeptierte Antwort
Guillaume
am 29 Jan. 2018
Most likely, you have a variable called SEM in your workspace which shadow your SEM function. Hence you're indexing that variable instead of calling the function. Get rid of that variable or rename it.
Note that your sem function will give incorrect results for matrices that have more columns than rows because of the use of length. I would strongly recommend replacing length(x) by size(x, 1) but that is irrelevant for your error.
Weitere Antworten (1)
Morteza Hajitabar Firuzjaei
am 29 Jan. 2018
Dear friend,
you used indices, you should make sure you are using integers as indices or make sure you are using vectors or matrices
best wishes
Morteza Hajitabar Firuzjaei
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!