car*_*Pat 7 matlab matrix complex-numbers
我想从包含虚数的数组中仅提取实数,我也想从数组中消除虚数.因此,从10个元素的数组中,其中5个是实数,5个是虚数,只能获得5个元素的数组,其中必须是实数元素.这在MATLAB中
编辑:
添加一个例子
input_array = [ 1, 1+i, -2+2*j, 3, -4, j ];
Run Code Online (Sandbox Code Playgroud)
期望的输出将是
output = [ 1, 3, -4 ];
Run Code Online (Sandbox Code Playgroud)
它只包含真实的元素input_array
.
Sha*_*hai 11
另一种更加矢量化的方式:
sel = a == real(a); % choose only real elements
only_reals = a( sel );
Run Code Online (Sandbox Code Playgroud)
您可以将isreal与arrayfun结合使用来检查数字是否真实和/或 真实,以保留实际部分.例子:
a = [1+i 2 3 -1-i];
realidx = arrayfun(@isreal,a);
only_reals = a(realidx);
only_real_part = real(a);
>> only_reals
= [ 2 3]
>> only_real_part
= [1 2 3 -1]
Run Code Online (Sandbox Code Playgroud)