2015-07-15 2 views
2

Я немного смущен тем, что здесь делает MatLab ... почему умножение реального выражения на реальную постоянную внезапно делает его сложным?Почему MatLab делает реальный номер комплекса?

x = -1.1451e+02 - 1.1317e+02i; 
x*conj(x) 

>> 2.5920e+04 

10*x*conj(x) 

>> 2.5920e+05 - 1.4552e-11i 
+1

Еще одна вариация ошибок точности с плавающей запятой – Daniel

ответ

4

Это, безусловно, ошибка округления. Обратите внимание, что если вы добавите круглые скобки, ваши результаты изменится:

>> 10 * (x * conj(x)); 

ans = 

    2.5920e+05