Я новичок в Julia (версия 1.0.2) и в настоящее время пробую @reaction_network
из пакета DiffEqBiological (также текущая версия, я не могу найти номер версии здесь):
tspan = (0.0, 50.0);
y0 = [100.0 50.0 0.0 0.0] #[substrate enzyme complex product]
S, E = y0[1], y0[2]
for r in 0.1:0.1:1.0
println("Creating Michaelis-Menten reaction model...")
r1, r2, r3 = r, r, r;
michaelismenten = @reaction_network rType begin
r1, S + E ⟶ C
r2, C ⟶ S + E
r3, C ⟶ P + E
end
y = ODEProblem(michaelismenten, y0, tspan)
sol = solve(y, CVODE_BDF(), reltol=1e-8, abstol=1e-8)
end
Когда я пытаюсь скомпилировать это, я получаю синтаксическую ошибку: unsupported 'const' declaration on local variable around C:\Users\...\.julia\packages\DiffEqBiological\nujlA\src\reaction_network.jl:447
.Я очень старался найти ошибку, и, возможно, мои знания слишком низкие, чтобы на самом деле понимать похожие вопросы, когда я пробовал ответы, но все равно получал то же сообщение об ошибке.Я попробовал обычный
r = 0.1
michaelismenten = @reaction_network rType begin
r, S + E ⟶ C
r, C ⟶ S + E
r, C ⟶ P + E
end
y = ODEProblem(michaelismenten, y0, tspan)
sol = solve(y, CVODE_BDF(), reltol=1e-8, abstol=1e-8)
, и это прекрасно работает.Как только я добавляю цикл for для изменения моей скорости реакции, я получаю эту ошибку, означающую, что этот код
for i = 1:10
r = i/10 # here I thought that Julia maybe did not like the 0.1:0.1:1.0 from above
michaelismenten = @reaction_network rType begin
r, S + E ⟶ C
r, C ⟶ S + E
r, C ⟶ P + E
end
end
уже выдает ту же ошибку.Поэтому я думаю, что я делаю что-то не так с циклом for, который я хотел использовать для изменения скорости реакции r
, чтобы я мог анимировать свои графики с помощью
anim = @animate for r = 0.1:0.1:1.0
# create michaelismenten and solve in this for-loop before plotting (see above)
plot(sol)
end
gif(anim, "$S_$E_RRE.gif", fps = 15)
Я надеюсь, что кто-то может помочь мне найти решение для моей проблемы.И, пожалуйста, помогите мне сделать мой заданный вопрос более четким с форматированием.
Кратко суммируя комментарии:
- объявление
r
глобальным неработает и выдает ту же ошибку - , оборачивая сеть реакции michaelismenten в функцию с
r
в качестве ввода, выдает ту же ошибку неподдерживаемого объявления 'const' для локальной переменной