필터 지우기
필터 지우기

Find a specific char in a cell and turn it into NaN

조회 수: 1 (최근 30일)
Tobias Pfeifer
Tobias Pfeifer 2021년 3월 15일
댓글: Stephen23 2021년 3월 16일
Hi,
i need to plot some temperature data from a csv excel data. If the Sensors werent active, the value at this time says Error 4 or Error 6. Matlab cant really plot those values and my first attempt was to turn those values into NaN. But i cant really find anything to do this. I should mention, that im new to matlab and dont know more than the basics.
Thank you in advance!
  댓글 수: 2
Stephen23
Stephen23 2021년 3월 15일
@Tobias Pfeifer: please upload a sample file by clicking the paperclip button.
Tobias Pfeifer
Tobias Pfeifer 2021년 3월 15일
Thats the code i have so far.

댓글을 달려면 로그인하십시오.

답변 (2개)

DGM
DGM 2021년 3월 16일
편집: DGM 2021년 3월 16일
Let's say you have your sensor value as a cell vector -- but it's full of non-numeric garbage:
rawsensval={'3','5','Error 9000','53','24','Another Error','4345'};
sensvalnumeric=cell2mat(cellfun(@(s) {str2double(s)}, rawsensval))
Here, str2double() converts any non-numeric entries to NaN, giving you a simple numeric vector.
This is what I use in my own log processing scripts. There may be more elegant methods.

Stephen23
Stephen23 2021년 3월 16일
편집: Stephen23 2021년 3월 16일
F = 'UmgebungsmessungDez.csv';
S = detectImportOptions(F, 'Delimiter',';', 'VariableNamingRule','preserve');
X = false(1,numel(S.VariableOptions));
X(4:end) = true; % specify which columns should be numeric
S = setvaropts(S, X, 'Type','double', 'DecimalSeparator',',');
S = setvaropts(S,'DATE', 'Type','datetime', 'InputFormat','dd.MM.yyyy');
T = readtable(F,S)
T = 5278×31 table
Umgebungsmessung DATE TIME °C °C_1 °C_2 °C_3 °C_4 °C_5 °C_6 °C_7 °C_8 °C_9 °C_10 °C_11 °C_12 °C_13 °C_14 °C_15 °C_16 °C_17 °C_18 °C_19 °C_20 °C_21 °C_22 °C_23 °C_24 °C_25 °C_26 °C_27 ________________ __________ ________ ___ ____ ____ ____ ____ ____ ____ ____ ____ ____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ 1 01.12.2019 00:00:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2 01.12.2019 00:01:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3 01.12.2019 00:02:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4 01.12.2019 00:03:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5 01.12.2019 00:04:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 6 01.12.2019 00:05:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 7 01.12.2019 00:06:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8 01.12.2019 00:07:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 9 01.12.2019 00:08:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10 01.12.2019 00:09:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 11 01.12.2019 00:10:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 12 01.12.2019 00:11:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 13 01.12.2019 00:12:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 14 01.12.2019 00:13:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 15 01.12.2019 00:14:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 16 01.12.2019 00:15:00 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
T(2110:2119,:) % the first few rows with number data
ans = 10×31 table
Umgebungsmessung DATE TIME °C °C_1 °C_2 °C_3 °C_4 °C_5 °C_6 °C_7 °C_8 °C_9 °C_10 °C_11 °C_12 °C_13 °C_14 °C_15 °C_16 °C_17 °C_18 °C_19 °C_20 °C_21 °C_22 °C_23 °C_24 °C_25 °C_26 °C_27 ________________ __________ ________ _____ _____ _____ _____ _____ _____ ____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ 2110 02.12.2019 11:09:00 NaN NaN NaN NaN 23.7 NaN NaN 21.53 25.1 NaN NaN NaN 24.25 NaN NaN NaN NaN NaN NaN NaN 23.04 NaN NaN 25.37 NaN NaN NaN NaN 2111 02.12.2019 11:10:00 NaN NaN NaN NaN 22.32 26.75 NaN 21.47 22.57 NaN NaN 23.52 21.73 NaN NaN NaN 22.75 NaN NaN NaN 22.1 27.4 NaN 22.69 22.17 NaN NaN NaN 2112 02.12.2019 11:11:00 23.56 22.51 NaN 26.97 21.93 22.88 NaN 21.48 21.65 NaN 27.98 21.92 21.21 NaN NaN NaN 21.35 NaN NaN NaN 21.75 22.96 NaN 22.1 21.73 22.89 25.13 NaN 2113 02.12.2019 11:12:00 22.06 21.11 23.39 23.15 21.74 21.49 NaN 21.6 21.29 24.71 22.4 21.61 21.09 NaN 24.06 23.6 20.94 NaN 26.37 NaN 21.63 22.18 23.76 21.73 21.28 21.45 21.9 NaN 2114 02.12.2019 11:13:00 21.56 20.71 21.91 21.99 21.65 21.04 NaN 21.42 21.24 22.33 21.4 21.52 20.98 NaN 22.13 21.79 20.92 NaN 23.06 NaN 21.45 21.88 21.9 21.58 21.09 21.13 20.9 NaN 2115 02.12.2019 11:14:00 21.32 20.64 21.57 21.59 21.57 20.85 NaN 21.48 21.1 22.02 21.26 21.47 20.88 NaN 21.63 21.65 20.85 NaN 22.05 NaN 21.26 21.74 21.96 21.38 20.96 21.09 20.65 NaN 2116 02.12.2019 11:15:00 21.24 20.75 21.39 21.44 21.69 20.84 NaN 21.54 21.13 21.67 21.2 21.55 20.86 NaN 21.42 21.51 20.98 NaN 21.93 NaN 21.31 21.65 21.61 21.42 21.09 21.01 20.68 NaN 2117 02.12.2019 11:16:00 20.92 20.57 21.12 21.15 21.27 20.73 NaN 21.41 20.72 21.5 21 21.26 20.96 NaN 21.31 21.86 20.92 NaN 21.72 NaN 21.15 21.36 21.59 21.07 20.92 20.86 20.65 NaN 2118 02.12.2019 11:17:00 20.68 20.52 20.64 20.71 20.71 20.66 NaN 21.57 20.6 21.61 20.78 20.77 20.67 NaN 21 21.6 20.69 NaN 21.93 NaN 20.72 20.87 21.67 20.78 20.84 20.54 20.5 NaN 2119 02.12.2019 11:18:00 20.56 20.45 20.47 20.48 20.53 20.57 NaN 21.46 20.42 23.01 20.62 20.58 20.57 NaN 20.7 21.49 20.57 NaN 21.63 NaN 20.53 20.65 21.66 20.54 20.77 20.35 20.34 NaN
  댓글 수: 2
Tobias Pfeifer
Tobias Pfeifer 2021년 3월 16일
Thank you so much for your answers!
Stephen23
Stephen23 2021년 3월 16일
@Tobias Pfeifer: please remember to accept the answer that helped you most! Accepting and voting for answers is the easiest way you can show your appreciation to the volunteers on this forum.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by