Error using length, Too many input arguments.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
C A
am 30 Aug. 2021
Kommentiert: Walter Roberson
am 1 Sep. 2021
I have a bunch of data from animal cells at different times. j represents the time frame. I want to extract a field from my object and that field can either have one or two values. If I have one value, I want to extract the value as it is and if I have two values, I want to average them out. This is a snippet of my code.
if length(Obj.MatFile{cellnumber}{j},ExtractField)==2
Answer(icellnumber,i)=mean(Obj.MatFile{cellnumber}{j}.(ExtractField));
else
Answer(icellnumber,i)=Obj.MatFile{cellnumber}{j}.(ExtractField);
end
I keep getting the above error. Any help would be greatly appreciated. Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Stephen23
am 31 Aug. 2021
Bearbeitet: Stephen23
am 31 Aug. 2021
if length(Obj.MatFile{cellnumber}{j}.(ExtractField))==2
But note that you do not need to check the length: taking the mean of one value simply returns that value, so in both cases you can simply do this (and not worry about how many values there are):
Answer(icellnumber,i) = mean(Obj.MatFile{cellnumber}{j}.(ExtractField));
and then get rid of the IF entirely.
2 Kommentare
Walter Roberson
am 1 Sep. 2021
"if there are more than two" -- use numel() instead of length() if you want to know how many values there are. length() has a slightly different meaning.
Siehe auch
Kategorien
Mehr zu Startup and Shutdown 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!