Sympy Matrix Outverse работает только с method = 'lu'Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Sympy Matrix Outverse работает только с method = 'lu'

Сообщение Anonymous »

Я делаю предварительную работу для управления системой и начал использовать Sympy.

Код: Выделить всё

s= symbols('s')

V = 20000 #[m^3 volume in tank]
K_qo = 20000/(35*60)
C = np.pi * 20.25**2

a0 = K_qo/(0.06*C)
a1 = K_qo/V
T = 0.02

A = Matrix([
[-a0, 0, 0, 0, 0],
[0, -a1, 1, 1, 1],
[0, 0, -1/T, 0, 0],
[0, 0, 0, -1/T, 0],
[0, 0, 0, 0, -1/T]
])
Я хочу рассчитать матрицу перехода состояния phi . Чтобы найти эту матрицу, я должен сделать эту матричную манипуляцию:

Код: Выделить всё

phi = [sI-A]^-1

Когда я использую method = 'la' Я получаю ожидаемое выражение (второй порядок). Но если я использую другие методы, в том числе метод по умолчанию, я получаю выражение более высокого порядка (Пятый Орден), когда у моего коэффициента есть много десятичных десятиков (я думаю). Это: < /p>

Код: Выделить всё

G=C*((s*eye(5)-A).inv(method='LU'))*B
< /code>
дает мой ожидаемый результат, но < /p>
G=C*((s*eye(5)-A).inv())*B
дает совершенно другой ответ.
может ли кто -нибудь из вас помочь понять, почему это происходит?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -method-lu
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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