繁体   English   中英

如何从Matlab中的字符数组中删除NaN

[英]How do I remove NaN from character array in Matlab

尝试使用cellfun从Matlab中的字符数组中删除NaN,但是没有运气。 错误消息说:使用cellfun错误输入#2应该是一个单元格数组,而不是char。

我正在尝试从.csv文件读入数据,下面是相关的代码片段:

clear all

%import atmospheric data in text format **TAFT**
fid_atm = fopen('C:\Filepath\file.csv');
atm = textscan(fid_atm,['%s%f%s%s%s',repmat('%',1,203)],'headerlines',1, 'delimiter', ','); %%Added Delimiter%%

%convert cell to character in atmospheric data
cell1 = char(atm{1,3});

cell1(cellfun(@(x) any(isnan(cell1)),cell1)) = []; %this line is where the error message occurs

我需要从cell1中删除NaN,因为在下一步中我将时间转换为秒,但是当我这样做时,矩阵的维度不一致:

%time into seconds
time_atm = str2num(cell1(:,1:2))*3600 + str2num(cell1(:,4:5))*60 + str2num(cell1(:,7:8));

因此,由于cellfun无法正常工作,如何从cell1中删除NaN? 我认为通过删除NaN,我得到了在time_atm步骤中同意的维度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM