K>> asdfasdf=[1 1 1]
asdfasdf =
1 1 1
K>> asdfasdf(4)=-2.3604 + 0.1536i
asdfasdf =
1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i -2.3604 + 0.1536i
为什么前三个元素突然变得复杂了?我该如何阻止Matlab这样做?真实就是真实。这不应该仅仅因为另一个元素是虚的就变成虚的。
complex
属性是数组的属性,而不是每个条目的属性。如果一个条目需要复杂,那么所有条目都是复杂的;或者更确切地说,阵列是
你说
真实的
但real也是复杂的。虚部为零的复数与实数相同(具有相同的值(。
数字示例:
>> x = 3; % real number
>> y = complex(3, 0); % force to be complex
>> whos x y % check that x is real and y is complex
Name Size Bytes Class Attributes
x 1x1 8 double
y 1x1 16 double complex
>> x==y % are they equal?
ans =
1
阵列示例:
>> x = [2 3 4]; % real values: x is real
>> y = [x, 5+6j]; % include a complex value: y becomes complex
>> x(1:3)==y(1:3) % equal values?
ans =
1 1 1