gpt4 book ai didi

matlab - 使用 cellfun 进行条件元素替换

转载 作者:太空宇宙 更新时间:2023-11-03 19:32:07 26 4
gpt4 key购买 nike

vec = randi(10,10,1)
vec(vec < 5) = 0

func = @(x) x(x < 5) = 0 % This isn't valid

我应该如何将第二行代码转换为可以与 cellfun 结合使用的函数句柄?

最佳答案

您可以使用乘法,因为如果满足您的条件,您将得到 1,否则将得到 0

因此,乘以条件的倒数会得到一个不变的值(如果不满足条件)或您想要的 0 替换值!

func = @(x) x .* (~(x < 5)) % Replace values less than 5 with 0

如果你有不同的替换,你可以扩展相同的逻辑

func = @(x) x .* (~(x < 5)) + 10 * (x < 5) % replace values less than 5 with 10

关于matlab - 使用 cellfun 进行条件元素替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393739/

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