gpt4 book ai didi

matlab - 如何将数组与 if 语句的数字进行比较?

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

H0 是一个数组 ([1:10]),H 是一个数字 (5 >).

如何将 H0 中的每个元素与单个数字 H 进行比较?

例如在

if H0>H 
do something
else
do another thing
end

MATLAB 总是做另一件事。

最佳答案

if需要以下语句来评估标量 true/false。如果语句是数组,则行为相当于将其包装在 all(..) 中.

如果你的比较结果是一个逻辑数组,比如

H0  = 1:10;
H = 5;
test = H0>H;

您有两个选项可以传递 test通过if -声明:

(1) 你可以聚合test的输出,例如,您希望在 any 时执行 if 子句或 all test 中的元素是真的,例如

if any(test)
do something
end

(2) 您遍历 test 的元素, 并做出相应的 react

for ii = 1:length(test)
if test(ii)
do something
end
end

请注意,可以使用逻辑向量 test 将此操作向量化作为索引。

编辑

如果如评论中所示,您想要 P(i)=H0(i)^3 if H0(i)<H , 否则 P(i)=H0(i)^2 ,你只需写

 P = H0 .^ (H0<H + 2)

关于matlab - 如何将数组与 if 语句的数字进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13683807/

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