Gekko зависает при моделировании модели ARXPython

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

Сообщение Anonymous »

Gekko висит при моделировании модели ARX с различными словарями параметров. Один, как описано на веб -сайте APM и другое, но сохраняет ту же структуру модели с точки зрения количества NUT и выходов и их коэффициентов. Оба дали хорошие результаты.
Затем я попытался имитировать обе системы, просто изменив словарь параметров. Система из APM может быть смоделирована без каких -либо проблем. Когда я попытался имитировать другую систему, которую вешала Гекко, и мне пришлось прекратить ядро. < /P>
Вот код < /p>
import numpy as np
from gekko import GEKKO
import matplotlib.pyplot as plt
import json

ny = 2 # Number of outputs
nu = 2 # Number of inputs

jsonString='{"a": [[0.8303155342446392, 0.5680594837853161], [0.165159576576975, 0.42701139848983305]], "b": [[[-0.00021096098851137172, 3.645093996964678e-05], [0.0024479091118252785, -0.00044792104564900166]], [[0.0019627512690716343, 0.0029626945635920095], [-0.0025037845076475, -0.0016812552089966995]]], "c": [0.09880182193077706, 0.14760139668456007]}'
#jsonString='{"a": [[1.5903954085, 1.0030732272], [-0.59039540951, -14.955482692]], "b": [[[-0.1124849303, 0.00192948919904], [0.0070552841573, -0.001869892092]], [[0.003908541590499999, 0.081949113808], [0.009439868924125, 14.859599644]]], "c": [8.428408192, -0.0017416174455]}'
p=json.loads(jsonString)
for key in p:
p[key]=np.array(p[key])

# Create GEKKO model
m = GEKKO(remote=False)

# Build GEKKO ARX model
y,u = m.arx(p)

# load inputs
tf = 600 # final time
u1 = np.zeros(tf+1)
u2 = u1.copy()
u1[5:] = 80.0
u2[100:] = 100.0
u[0].value = u1
u[1].value = u2

# customize names
mv1 = u[0]
mv2 = u[1]
cv1 = y[0]
cv2 = y[1]

# options
m.time = np.linspace(0,tf,tf+1)
m.options.imode = 4
m.options.nodes = 2

# simulate
m.solve()

plt.figure(1)
plt.subplot(2,1,1)
plt.plot(m.time,mv1.value,'r-',label=r'$MV_1$')
plt.plot(m.time,mv2.value,'b--',label=r'$MV_2$')
#plt.plot(m.time,mv3.value,'g--',label=r'$MV_3$')
plt.ylabel('MV')
plt.legend(loc='best')
plt.subplot(2,1,2)
plt.plot(m.time,cv1.value,'r:',label=r'$CV_1$')
plt.plot(m.time,cv2.value,'b.-',label=r'$CV_2$')
plt.ylabel('CV')
plt.xlabel('Time (sec)')
plt.legend(loc='best')
plt.show()


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Gekko зависает при моделировании модели ARX
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему выходные данные модели Gekko ARX не совпадают с выходными данными регрессии SysId?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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