gpt4 book ai didi

matlab - matlab 中的 Elementwise ifs - 它们存在吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:22 25 4
gpt4 key购买 nike

假设我有以下基本的 if 语句:

if (A ~= 0)
% do something like divide your favorite number by A
else
% do something like return NaN or infinity
end

问题是 A 不是一个简单的数字,而是一个向量。如果 A 中没有元素为 0,则 Matlab 返回 true。我要找的是向量化的?为 A 中的每个元素执行上述 if 语句的方法。

其实,我只是想尽快完成这件事。

最佳答案

矢量化 ifs 不存在,但有一些选项。如果要测试所有或任何元素是否为真,请使用 all 或 any 函数。

这是有条件地修改矩阵值的一个示例:

b = A ~= 0;      % b is a boolean matrix pointing to nonzero indices
% (b could be derived from some other condition,
% like b = sin(A)>0
A(b) = f(A(b)) % do something with the indices that pass
A(~b) = g(A(~b)) % do something else with the indices that fail

关于matlab - matlab 中的 Elementwise ifs - 它们存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/835142/

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