Matlab中的逻辑掩码

som*_*ude 4 matlab

我试图使用逻辑数组掩码来平方此数组的所有值a = [1:1:2000}.逻辑阵列掩码定义为b = a <500.如何使用蒙版对这些值进行平方?

tmp*_*rce 8

a = 1:2000; %# 1 by 2000 double
b = a<500;  %# 1 by 2000 logical    
a_squared     = a(b).^2; %# 1 by 499 double
%# logical index--^ ^-- 'dot' means element-wise operation
Run Code Online (Sandbox Code Playgroud)