Как округлить элементы матрицы в симпы? - PullRequest
0 голосов
/ 19 декабря 2018

Как мы знаем

from sympy import *

x = sin(pi/4)
y = sin(pi/5)

A = Matrix([x, y])

print(x)
print(A.evalf())

отображает

sqrt(2)/2
Matrix([[0.707106781186548], [0.587785252292473]])

Итак

print(round(x.evalf(), 3))
print(round(y.evalf(), 3))

отображает

0.707
0.588

Но как мы можем кратко округлить все элементы в Матрице, чтобы

print(roundMatrix(A, 3))

мог отображать

Matrix([[0.707], [0.588]])

1 Ответ

0 голосов
/ 19 декабря 2018

Почему вы не используете метод evalf с аргументами вроде evalf(3)?

from sympy import *

x = sin(pi/4)
y = sin(pi/5)

A = Matrix([x, y])

print(x)
print(A.evalf(3))

Вывод

sqrt(2)/2
Matrix([[0.707], [0.588]])
...