Полиномиальные корни – показаны мнимые частиPython

Программы на Python
Ответить
Anonymous
 Полиномиальные корни – показаны мнимые части

Сообщение Anonymous »

Корни полинома определяются с помощью следующего кода. Корни отображаются мнимыми числами, но на самом деле это целые числа.
5 должны быть без мнимого значения
[5.+1.27882372e-07j 5.-1.27882372 e-07j 2.+0.00000000e+00j]
import numpy as np
poly=[1,-10,25] # (x-5)**2
p1 = np.poly1d(poly)
p2 = np.poly1d([1,-2]) # (x-2)
poly2 = p1*p2 # (x-5)**2 * (x-2)
print(poly2.roots)

print(poly2(5))
print(poly2(2))

Solution: Use np.real_if_close(poly2.roots, tol=1e-5) to ignore insgnificant imaginary part.

#remove insignificant imaginary part
formatted_roots = np.real_if_close(poly2.roots, tol=1e-5)
# change back to number format
roots = formatted_roots.astype(float)


Подробнее здесь: https://stackoverflow.com/questions/792 ... inary-part
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»