Я новичок здесь. Простите, если форматирование не так или что-то в этом роде. У меня большой опыт работы с MATLAB, и с тех пор я изучаю Python. У меня есть непрерывная модель пространства состояний времени, которую я хочу преобразовать в дискретную модель пространства состояний времени с шагом 0,1.
Вот соответствующий фрагмент кода с ошибкой, которую я получаю. Я довольно смущен тем, что здесь происходит, и я не могу понять, где я иду не так. Спасибо за любую помощь !!
A = np.array([[-0.03, 0, 0.05, 0, 0, 0, 0, -9.8, 0],
[0, -0.11, 0, 0.065, 0, -119.1, 9.8, 0, 0],
[-0.18, 0, -1.4, 0, 120, 0, 0, 0, 0],
[0, -0.0074, 0, -1.85, 0, 0.25, 0, 0, 0],
[0.0021, 0, -0.27, 0, -6.14, 0, 0, 0, 0],
[0, 0.030, 0, -0.061, 0, -0.21, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0, 0]])
B = np.array([[0, 0, 0, 0.11],
[0, 0, 3.69, 0],
[0, -12.8, 0, 0.023],
[2.31, 0, 0.26, 0],
[0, -6.48, 0, 0],
[-0.081, 0, -1.36, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
C = np.eye((9))
D = np.zeros((9, 4))
size_A = np.shape(A)
size_B = np.shape(B)
size_C = np.shape(C)
size_D = np.shape(D)
full_state = sp.signal.StateSpace(A, B, C, D)
print(full_state)
discrete_full = sp.signal.cont2discrete(full_state, 0.1, method='zoh',
alpha=None)
Ошибка появляется ниже
File "C:\Users\15024\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\Users\15024\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/15024/Documents/Python Scripts/AEM 417/Project_1.py", line 48, in <module>
alpha=None)
File "C:\Users\15024\Anaconda3\lib\site-packages\scipy\signal\lti_conversion.py", line 405, in cont2discrete
if len(system) == 1:
TypeError: object of type 'StateSpaceContinuous' has no len()
Пожалуйста, дайте мне знать, если требуется дополнительная информация. Спасибо !!