Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Matlab中从字符数组中删除NaN_Arrays_Character_Nan - Fatal编程技术网

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

Arrays 如何在Matlab中从字符数组中删除NaN,arrays,character,nan,Arrays,Character,Nan,尝试使用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'

尝试使用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步骤中获得一致的维度。

应该是:cell1(cellfun(@(cell1)any(isnan(cell1)),cell1))=[];应该是:cell1(cellfun(@(cell1)any(isnan(cell1)),cell1))=[];