error using contains function
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
AMINE EL MOUATAMID
am 22 Apr. 2019
Kommentiert: AMINE EL MOUATAMID
am 22 Apr. 2019
when I use contains function in a loop it show me that error message, even though Raw is a cell array, and also the compilation complete and the code after if contains(Raw(i,2),serie)==1 works well.
is there a solution for that ?
5 Kommentare
Matt J
am 22 Apr. 2019
Bearbeitet: Matt J
am 22 Apr. 2019
You need to provide the variables (in a .mat file) that would let us run the important section of the code as follows:
load yourMATFile.mat
sizeRaw=size(Raw);
for i=2 : sizeRaw(1,1)
if contains(Raw(i,2),serie)==1
for j=2 : rowRMS(1,1)
if contains(Raw(i,1),RMS(j,1))==1
if contains(Raw(i+1,8),MeasTypeID)==1
Raw(i+1,9)=RMS(j,2);
else
if contains(Raw(i+2,8),MeasTypeID)==1
Raw(i+2,9)=RMS(j,2);
else
if contains(Raw(i+3,8),MeasTypeID)==1
Raw(i+3,9)=RMS(j,2);
end
end
end
end
end
end
end
Akzeptierte Antwort
Adam Danz
am 22 Apr. 2019
Bearbeitet: Adam Danz
am 22 Apr. 2019
I can see in your screen shot of workspace variables that your "Raw" array contains mostly NaN values.
According to your error message, the first argument of contains() must be a string array, char vector, or cell array of char vectors. "Raw" appears to be a cell array with lots of NaNs.
You probably want to just skip iterations where the input to contains() includes NaN values (or you might want to use a different method).
5 Kommentare
Adam Danz
am 22 Apr. 2019
Bearbeitet: Adam Danz
am 22 Apr. 2019
You need to do some exploring. Some trial and error. The error message tells you that the input to isnan() does not accept cell arrays. So try this
isnan(out{2,2})
% or
isnan([out{2,2}])
More more information on how to work with cell arrays:
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Whos finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!