제가 현재 과제 문제를 푸는데 전혀 답이 안 나와서 어디서 잘못된건지 질문드리려 왔습니다.

일단 파이썬이고 odeint를 이용한 미분방정식 문제입니다.



위 미분방적식을 보고 위 그래프를 그리는 문제인데요

제가 열심히 풀어서 그려본 그래프는 계속 이렇게만 나옵ㄴ디ㅏ.


일단 코딩을 적어보면


import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

def func(U,t,n=1,V_9=0.5,K_l=9,K_1=10,K_2=8,K_3=15):
    def v1():
        return 2.5*U[0]/((1+(U[7]/K_l)**n)*(K_1+U[0]))
    def v2():
        return 0.25*U[1]/(K_2+U[1])
    def v3():
        return 0.025*U[1]*U[2]/(K_3+U[2])
    def v4():
        return 0.025*U[1]*U[3]/(K_3+U[3])
    def v5():
        return 0.75*U[4]/(K_3+U[4])
    def v6():
        return 0.75*U[3]/(K_3+U[3])
    def v7():
        return 0.025*U[4]*U[5]/(K_3+U[5])
    def v8():
        return 0.025*U[4]*U[6]/(K_3+U[6])
    def v9():
        return V_9*U[7]/(K_3+U[7])
    def v10():
        return V_9*U[6]/(K_3+U[6])
    return [v2()-v1(),v1()-v2(),v6()-v3(),v3()+v5()-v4()-v6(),v4()-v5(),v10()-v7(),v7()+v9()-v8()-v10(),v8()-v9()]

U0=[100,0,300,0,0,300,0,0]
ts=np.linspace(0,150,15001)
Us=odeint(func,U0,ts)
MAPKs=Us[:,5]
plt.plot(ts,MAPKs)


이런 식으로 짰습니다.

func에서 변수가 여러개인 이유가 다음 문제가 이 변수 값을 바꿔서 푸는 문제라서 여러개 입력을 했고요
그리고 U[0]~U[7]은 순서대로 MKKK,  MKKK-P,  MKK,  MKK-P,  MKK-PP,  MAPK,  MAPK-K,  MAPK-PP이고
U0는 초기값 입니다
다음 문제에서도 V_9 = V_10 이고 K_3 = K_4 = ... = K_10 이라서 변수 수를 줄일 겸 같은 변수로써 사용했습니다.


여기서 뭐가 잘못된건지 알려주실 수 있을까요?