Смоделировать функцию логического утверждения в GekkoPython

Программы на Python
Ответить
Anonymous
 Смоделировать функцию логического утверждения в Gekko

Сообщение Anonymous »

Мне необходимо создать модель трения в GEKKO, используя предоставленный алгоритм:

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

# u is the displacement variable
# vel is velocity , vel == u.dt()
# xr and fm are constant parameters

# update xs, frs:

if abs(vel)  xs:
f  =  frs + dx/(xr * (1-delta)+dx) * (fm - frs);
else:
f  =  frs + dx/(xr * (1+delta)-dx) * (fm + frs);
Я пытался различными методами смоделировать это в GEKKO, но безуспешно.
Подход 1: использование логических функций Gekko< /p>
Я добавил только ту часть кода, которая занимается обновлением xs.

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

m = GEKKO()
m.time = np.linspace(0,10,100)
u = m.Var(0, fixed_initial=True)
t = m.Var(0, fixed_initial=True)
v = m.Var(3e-3 * 2*np.pi*0.1)

# previous time step
xs_ = m.Var(0)
m.delay(xs, xs_, 1)

# Equations
m.Equation(t.dt()==1)
m.Equation(u == 3e-3 * m.sin(2*np.pi*0.1 * t))
m.Equation(v == u.dt())

# update xs
xs = m.Var(0, fixed_initial=True)
m.Equation(xs == m.if2(m.abs(v) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79058166/model-a-logical-statement-function-in-gekko[/url]
Ответить

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

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

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

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

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