在 MATLAB 中,我尝试对元胞数组执行一个函数,但运气不佳。我想创建一个cellfun
它检查是否str2double
回报NaN
值,然后执行str2double
关于不存在的值NaNs
。我试图使用一个匿名函数,其中包含 IF Else 类型的语句,但没有真正取得任何进展。这是我到目前为止所想到的:
x = cellfun(@(x)~isnan(str2double(x)),str2double(x))
但是它不起作用,有人可以帮助我吗?
这是一个漂亮、紧凑且有效的 iif 实现:
iif = @(varargin) varargin{3-(varargin{1}>0)}
Usage:
iif(condition, true_value, false_value)
如果条件计算结果为 true,则该函数返回 true 值,否则返回 false_falue。
这是一个有用的过滤器,可以应用于从 csv 或 excel 文件读取的单元格,以便它们可以用作数字数组。例如,在使用 xlsread 读取的数组 Ra 上:
numeric_array = cellfun( @(x) iif(isnumeric(x) & ~isempty(x),x,NaN), Ra);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)