Запустите моделирование ARX с начальным условием с GekkoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запустите моделирование ARX с начальным условием с Gekko

Сообщение Anonymous »

Я хочу сделать температурный моделирование с моделями ARX и обнаружил Gekko как структуру для него.
Я смог запустить в основном пример Apmonitor и придать моделированию начальное условие при использовании Na = 1 < /strong>. Это мои графики с Na = 1, и использует первое измеренное значение в качестве условия inital в стадильном тесте:
sysid na = 1
step test na = 1 < /p>
выглядит хорошо. Но они фактически начинаются с правильного значения для первого значения. Как я могу начать симуляцию с нескольких прошлых шагов в качестве начального состояния, так что то, что я делаю, работает? Я просто хочу использовать реальные измерения в прошлом в качестве отправной точки.

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

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from gekko import GEKKO

# Load data
url = 'http://apmonitor.com/dde/uploads/Main/tclab_step_test.txt'
data = pd.read_csv(url)
t = data['Time']
u = data[['Q1', 'Q2']]
y = data[['T1', 'T2']]

# System identification
m = GEKKO(remote=True)
na, nb = 2, 6
yp, p, K = m.sysid(t, u, y, na, nb, diaglevel=1, scale=False)

# Plot input and output data with predictions
plt.figure(figsize=(8, 5))
plt.subplot(2, 1, 1)
plt.plot(t, u)
plt.legend([r'$Q_1$', r'$Q_2$'])
plt.ylabel('Inputs')
plt.subplot(2, 1, 2)
plt.plot(t, y)
plt.plot(t, yp)
plt.legend([r'$T_{1,meas}$', r'$T_{2,meas}$',
r'$T_{1,pred}$', r'$T_{2,pred}$'])
plt.ylabel('Outputs')
plt.xlabel('Time')

# ARX model for simulation
yc, uc = m.arx(p)
m.time = np.linspace(0, 600, 601)
m.options.IMODE = 4

# Set input profiles
uc[0].value = data['Q1']
uc[1].value = data['Q2']

# Set initial output values
yc[0].value = data['T1'][0]
yc[1].value = data['T2'][0]

# Solve and plot simulation results
m.solve(disp=False)

plt.figure(figsize=(10, 6))
plt.subplot(2, 2, 1)
plt.title('Step Test')
plt.plot(m.time, uc[0].value, 'b-', label=r'$Q_1$')
plt.plot(m.time, uc[1].value, 'r-', label=r'$Q_2$')
plt.ylabel('Heater (%)')
plt.legend()

plt.subplot(2, 2, 3)
plt.plot(m.time, yc[0].value, 'b--', label=r'$T_1$')
plt.plot(m.time, yc[1].value, 'r--', label=r'$T_2$')
plt.plot(t, y, 'k-', label='Measured')
plt.ylabel('Temperature (K)')
plt.xlabel('Time (sec)')
plt.legend()

plt.tight_layout()
plt.show()

< /code>
Я уже пытался установить на < /p>
yc[0].value = [20, 20]
yc[1].value = [20, 20]
so 2 past steps are available for the simulation, but then i get an exception that the size is not correct.
When i initialize the values ​​with arrays like [20,20,0,0,0,0,0,...] or [20,20,None,None,None,...] the simulation runs without exception but still with the same completely wrong values ​​and also only one 20 is after the моделирование в значении YC вместо набора два.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запустите моделирование ARX с начальным условием с Gekko
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Запустите моделирование ARX с начальным условием с Gekko
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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