Naw*_*war 9 matlab if-statement
H0 is an array [1:10]
H is a single number [5]
Run Code Online (Sandbox Code Playgroud)
如何将H0中的每个元素与单个数字H进行比较
if H0>H
do something,
else do another thing,
end
Run Code Online (Sandbox Code Playgroud)
Matlab总是做另一件事.
if
需要以下语句来评估标量true/false.如果语句是数组,则行为等同于将其包装all(..)
.
如果您的比较结果是逻辑数组,例如
H0 = 1:10;
H = 5;
test = H0>H;
Run Code Online (Sandbox Code Playgroud)
您有两种方法可以test
通过if
-statement:
(1)可以聚合的输出test
,比如你希望在将要执行的,如果从句any
或all
以这些元素的test
是真实的,如
if any(test)
do something
end
Run Code Online (Sandbox Code Playgroud)
(2)你遍历元素test
,并做出相应的反应
for ii = 1:length(test)
if test(ii)
do something
end
end
Run Code Online (Sandbox Code Playgroud)
注意,可以通过使用逻辑向量test
作为索引来向量化该操作.
编辑
如果你想要的话P(i)=H0(i)^3 if H0(i)<H
,如果你想要,或者P(i)=H0(i)^2
你只是写作
P = H0 .^ (H0<H + 2)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17907 次 |
最近记录: |