gpt4 book ai didi

Matlab 匿名函数 If else

转载 作者:行者123 更新时间:2023-12-02 01:05:51 27 4
gpt4 key购买 nike

在 MATLAB 中,我尝试对元胞数组执行函数,但运气不佳。我想创建一个 cellfun 来检查 str2double 是否返回 NaN 值,然后对这些值执行 str2double这不是 NaN。我试图使用一个匿名函数,其中包含 IF Else 类型的语句,但没有真正取得任何进展。这是我到目前为止所想出的:

x = cellfun(@(x)~isnan(str2double(x)),str2double(x))

但是它不起作用,有人可以帮助我吗?

最佳答案

这是一个漂亮、紧凑且有效的 iif 实现:

iif = @(varargin) varargin{3-(varargin{1}>0)}

用法:

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);

关于Matlab 匿名函数 If else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867822/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com