-10

私はこれらの 2 つのステートメントmatlabについて、構文が何を意味するかについて質問したいと思います。

area_xy = (f > 1);

area_xyz = (f == 1);

それは、たとえばarea_xyfそれらの要素が> 1.

ありがとう。

4

1 に答える 1

3

MATLAB では、比較演算子 (例: 、>==)<=は常にブール値の結果1を返します: true の場合と0false の場合です。さらに、オペランドの 1 つがベクトルであるか、両方のオペランドが同じサイズのベクトルである場合、比較は要素単位で行われ、結果はブール値のベクトルになります。たとえば、次のようになります。

x = (1 < 2)     % x contains 1 since this is true
x = (1 == 2)    % x contains 0 since this is false

a = [ 1 3 5 3 2 ]
x = (a < 3)         % x contains [ 1 0 0 0 1 ], since 1 and 2 are less than 3 but the others are not

a = [ 1 3 5 2 3 ]
b = [ 1 4 2 2 4 ]
x = (a == b)        % x contains [ 1 0 0 1 0 ], since elements 1 and 4 are the same in each

したがって、不等式を満たす要素は含まれarea_xyません。f代わりに、不等式が真であった場所とそうでない場所を含むマスクが含まれています。以下を評価することにより、これを満たす実際の値を取得できます。10f

f(area_xy)
于 2013-02-25T15:24:07.643 に答える