糖酵解反应动力学方程的微分方程建模

news2024/11/24 5:35:12

糖酵解反应动力学方程的微分方程建模

题目

对于下面的糖酵解反应:

image-20230606204311307

设其满足如下动力学方程:
{ d d t  Glucose  = v 1 − v 2 d d t  Gluc  6 P = v 2 − v 3 d d t  Fruc  6 P = v 3 − v 4 + v 5 d d t  Fruc  1 , 6 P 2 = v 4 − v 5 − v 6 d d t  ATP  = − d d t  ADP  = − v 2 − v 4 + v 7 { v 1 =  constant  = k 1 v 2 = k 2 ⋅  Glucose  ⋅  ATP  v 3 = k 3 ⋅  Gluc  6 P − k − 3 ⋅  Fruc  6 P v 4 = k 4 ⋅  Fruc  6 P ⋅ A T P v 5 = k 5 ⋅  Fruc  1 , 6 P 2 v 6 = k 6 ⋅  Fruc  1 , 6 P 2 v 7 = k 7 ⋅ A D P \left\{\begin{array} { l } { \frac { d } { d t } \text { Glucose } = v _ { 1 } - v _ { 2 } } \\ { \frac { d } { d t } \text { Gluc } 6 P = v _ { 2 } - v _ { 3 } } \\ { \frac { d } { d t } \text { Fruc } 6 P = v _ { 3 } - v _ { 4 } + v _ { 5 } } \\ { \frac { d } { d t } \text { Fruc } 1 , 6 P _ { 2 } = v _ { 4 } - v _ { 5 } - v _ { 6 } } \\ { \frac { d } { d t } \text { ATP } = - \frac { d } { d t } \text { ADP } = - v _ { 2 } - v _ { 4 } + v _ { 7 } } \end{array} \left\{\begin{array}{l} v_1=\text { constant }=k_1 \\ v_2=k_2 \cdot \text { Glucose } \cdot \text { ATP } \\ v_3=k_3 \cdot \text { Gluc } 6 P-k_{-3} \cdot \text { Fruc } 6 P \\ v_4=k_4 \cdot \text { Fruc } 6 P \cdot A T P \\ v_5=k_5 \cdot \text { Fruc } 1,6 P_2 \\ v_6=k_6 \cdot \text { Fruc } 1,6 P_2 \\ v_7=k_7 \cdot A D P \end{array}\right.\right. dtd Glucose =v1v2dtd Gluc 6P=v2v3dtd Fruc 6P=v3v4+v5dtd Fruc 1,6P2=v4v5v6dtd ATP =dtd ADP =v2v4+v7 v1= constant =k1v2=k2 Glucose  ATP v3=k3 Gluc 6Pk3 Fruc 6Pv4=k4 Fruc 6PATPv5=k5 Fruc 1,6P2v6=k6 Fruc 1,6P2v7=k7ADP

 令,  k 1 = 0.25 , k 2 = 1 , k 3 = 1 , k − 3 = 1 , k 4 = 1 , k 5 = 1 , k 6 = 1 , k 7 = 2.5 \text { 令, } k_1=0.25, k_2=1, k_3=1, k_{-3}=1, k_4=1, k_5=1, k_6=1, k_7=2.5  k1=0.25,k2=1,k3=1,k3=1,k4=1,k5=1,k6=1,k7=2.5
t = 0 t=0 t=0 时的初始浓度为:
Glucose ⁡ ( 0 ) = Gluc ⁡ 6 P ( 0 ) = Fruc ⁡ 6 P ( 0 ) = F r u c 1 , 6 P 2 ( 0 ) = 0 , A T P ( 0 ) = A D P ( 0 ) = 0.5  (任意单位)  \operatorname{Glucose}(0)=\operatorname{Gluc} 6 P(0)=\operatorname{Fruc} 6 P(0)=F_{r u c 1}, 6 P_2(0)=0, A T P(0)=A D P(0)=0.5 \text { (任意单位) } Glucose(0)=Gluc6P(0)=Fruc6P(0)=Fruc1,6P2(0)=0,ATP(0)=ADP(0)=0.5 (任意单位
试用MatLab软件求解并画出6种物质的时间过程曲线, 并选取适当的时间区间, 在二 维相平面中, 以Glucose的浓度值为横轴, 以 F r u c 1 , 6 P 2 Fruc1, 6 P_2 Fruc1,6P2 的浓度值为纵轴, 画两种物质浓度之间的关系曲线 (轨迹)。
要求: 给出可执行代码, 并写出运行步骤, 保证可以按照操作步骤, 得到所需的结果。

解答

引言

糖酵解是一种重要的生化通路,它将葡萄糖转化为能量。研究糖酵解反应的动力学方程可以帮助我们了解这一过程中各物质浓度的变化规律。我将介绍糖酵解反应的动力学方程,并使用MatLab软件求解和可视化该方程的数值解。

糖酵解 10 个步骤图解和 ATP 形成

糖酵解反应动力学方程

糖酵解反应涉及多个物质之间的相互转化,其中包括葡萄糖(Glucose)、葡萄糖-6-磷酸(Gluc6P)、果糖-6-磷酸(Fruc6P)、果糖-1,6-二磷酸(Fruc1,6P2)、三磷酸腺苷(ATP)和三磷酸腺苷二磷酸(ADP)。这些物质之间的转化关系可以用一组微分方程来描述。

我们将使用下面的动力学方程来模拟糖酵解反应:

d d t Glucose = v 1 − v 2 d d t Gluc 6 P = v 2 − v 3 d d t Fruc 6 P = v 3 − v 4 + v 5 d d t Fruc 1 , 6 P 2 = v 4 − v 5 − v 6 d d t ATP = − d d t ADP = − v 2 − v 4 + v 7 \begin{align*} \frac{d}{dt}\text{Glucose} &= v_1 - v_2 \\ \frac{d}{dt}\text{Gluc}6P &= v_2 - v_3 \\ \frac{d}{dt}\text{Fruc}6P &= v_3 - v_4 + v_5 \\ \frac{d}{dt}\text{Fruc}1,6P2 &= v_4 - v_5 - v_6 \\ \frac{d}{dt}\text{ATP} &= -\frac{d}{dt}\text{ADP} = -v_2 - v_4 + v_7 \\ \end{align*} dtdGlucosedtdGluc6PdtdFruc6PdtdFruc1,6P2dtdATP=v1v2=v2v3=v3v4+v5=v4v5v6=dtdADP=v2v4+v7

其中, v 1 , v 2 , v 3 , v 4 , v 5 , v 6 , v 7 v_1, v_2, v_3, v_4, v_5, v_6, v_7 v1,v2,v3,v4,v5,v6,v7是给定的常数,它们代表了不同反应的速率。

使用MatLab求解动力学方程

MatLab是一种强大的数值计算软件,可以用于求解微分方程。在这里,我们将使用MatLab中的ode45函数来求解糖酵解反应的动力学方程。

首先,我们需要定义一个函数来表示方程组的右侧,即微分方程的等式右边。在MatLab中,可以使用函数句柄来定义这个函数。下面是我们定义方程组的代码:

% 定义初始条件向量
y0 = [Glucose; Gluc6P; Fruc6P; Fruc1_6P2; ATP; ADP];

% 定义方程组,y(n)表示着y0的第n个物质
dydt = @(t, y) [
    k1 - k2 * y(1) * y(5);
    k2 * y(1) * y(5) - k3 * y(2) + k_minus3 * y(3);
    k3 * y(2) - k_minus3 * y(3) - k4 * y(3) * y(5) + k5 * y(4);
    k4 * y(3) * y(5) - k5 * y(4) - k6 * y(4);
    -k2 * y(1) * y(5) - k4 * y(3) * y(5) + k7 * y(6);
    k2 * y(1) * y(5) + k4 * y(3) * y(5) - k7 * y(6)
];

在这个代码中,dydt是一个函数句柄,它接受两个参数ty,分别代表时间和状态变量。函数体部分是一个矩阵,其中每一行对应方程组的一个微分方程。矩阵中的每个元素都是根据给定的常数和变量进行计算的。

接下来,我们需要指定初始条件和时间范围。根据题目给出的条件,我们可以将初始条件设置如下:

% 定义初始浓度
Glucose = 0;
Gluc6P = 0;
Fruc6P = 0;
Fruc1_6P2 = 0;
ATP = 0.5;
ADP = 0.5;

% 定义时间区间
tspan = [0 10]; % 这里选择了0到10的时间区间

% 定义初始条件向量
y0 = [Glucose; Gluc6P; Fruc6P; Fruc1_6P2; ATP; ADP];

最后,我们可以使用ode45函数来求解微分方程组,并得到数值解:

% 求解方程组
[t, y] = ode45(dydt, tspan, y0);

在这个代码中,ode45函数接受三个参数:函数句柄dydt、时间范围tspan和初始条件y0。它返回两个变量ty,分别代表求解得到的时间和状态变量的数值解。

结果可视化

最后,我们可以使用MatLab的绘图功能将糖酵解反应的各物质浓度随时间的变化绘制出来。

% 绘制时间过程曲线
figure;
plot(t, Glucose, 'r', t, y(:, 2), 'g', t, y(:, 3), 'b', t, Fruc1_6P2, 'm', t, y(:, 5), 'c', t, y(:, 6), 'y');
legend('Glucose', 'Gluc6P', 'Fruc6P', 'Fruc1,6P2', 'ATP', 'ADP');
xlabel('Time');
ylabel('Concentration');
title('Time Profiles of Substances');

下面绘制Glucose和Fruc1,6P2之间关系曲线:

% 绘制时间过程曲线
figure;
plot(t, Glucose, 'r', t, y(:, 2), 'g', t, y(:, 3), 'b', t, Fruc1_6P2, 'm', t, y(:, 5), 'c', t, y(:, 6), 'y');
legend('Glucose', 'Gluc6P', 'Fruc6P', 'Fruc1,6P2', 'ATP', 'ADP');
xlabel('Time');
ylabel('Concentration');
title('Time Profiles of Substances');

结论

本文介绍了糖酵解反应动力学方程的数值求解方法。通过使用MatLab软件和ode45函数,我们可以得到糖酵解反应中各物质浓度随时间的变化。通过绘制曲线,我们可以直观地了解糖酵解反应的动力学特性。

完整代码

% 定义常数
k1 = 0.25;
k2 = 1;
k3 = 1;
k_minus3 = 1;
k4 = 1;
k5 = 1;
k6 = 1;
k7 = 2.5;

% 定义初始浓度
Glucose = 0;
Gluc6P = 0;
Fruc6P = 0;
Fruc1_6P2 = 0;
ATP = 0.5;
ADP = 0.5;

% 定义时间区间
tspan = [0 10]; % 这里选择了0到10的时间区间

% 定义初始条件向量
y0 = [Glucose; Gluc6P; Fruc6P; Fruc1_6P2; ATP; ADP];

% 定义方程组,y(n)表示着y0的第n个物质
dydt = @(t, y) [
    k1 - k2 * y(1) * y(5);
    k2 * y(1) * y(5) - k3 * y(2) + k_minus3 * y(3);
    k3 * y(2) - k_minus3 * y(3) - k4 * y(3) * y(5) + k5 * y(4);
    k4 * y(3) * y(5) - k5 * y(4) - k6 * y(4);
    -k2 * y(1) * y(5) - k4 * y(3) * y(5) + k7 * y(6);
    k2 * y(1) * y(5) + k4 * y(3) * y(5) - k7 * y(6)
];

% 求解方程组
[t, y] = ode45(dydt, tspan, y0);

% 提取各物质浓度
Glucose = y(:, 1);
Fruc1_6P2 = y(:, 4);

% 绘制时间过程曲线
figure;
plot(t, Glucose, 'r', t, y(:, 2), 'g', t, y(:, 3), 'b', t, Fruc1_6P2, 'm', t, y(:, 5), 'c', t, y(:, 6), 'y');
legend('Glucose', 'Gluc6P', 'Fruc6P', 'Fruc1,6P2', 'ATP', 'ADP');
xlabel('Time');
ylabel('Concentration');
title('Time Profiles of Substances');
% 绘制Glucose和Fruc1,6P2之间的关系曲线(轨迹)
figure;
plot(Glucose, Fruc1_6P2);
xlabel('Glucose Concentration');
ylabel('Fruc1,6P2 Concentration');
title('Trajectory of Glucose and Fruc1,6P2 Concentrations');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron+vue3全家桶+vite项目搭建【19】集成微信登录

文章目录 引入实现思路实现步骤 引入 electron中实际就是嵌入了一个浏览器内核,所以在electron中集成微信登录实际和web端的集成方式是一样的。 demo项目地址 实现思路 这里参考这篇文章的 electron之微信扫码登陆(不使用轮询) 实现思路&a…

【数据结构】常见排序算法——常见排序介绍、选择排序(直接选择排序、堆排序)交换排序(冒泡排序)

文章目录 1.常见排序2.选择排序2.1直接选择排序2.2堆排序 3.交换排序3.1冒泡排序 1.常见排序 2.选择排序 选择排序是一种简单但不高效的排序算法,其基本思想是从待排序的数据中选择最小(或最大)的元素放到已排序的数据末尾。具体操作步骤如下…

可能是 Python 中最火的第三方开源测试框架 pytest

一、介绍 本篇文章是《聊聊 Python 的单元测试框架》的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose。作为本系列的最后一篇,压轴出场的是Python 世界中最火的第三方单元测试框架:pytest。 pytest 项目地址&#xff1…

预见未来:超强元AI诞生,抓住这个机会,利用AI变现也变得更加容易

目录 一、引言 二、介绍 三、技术展现 四、元AI架构图展现 五、元AI变现技巧—商业版说明 六、后期规划 一、引言 如何利用AI变现已经成为了当今各个行业亟需解决的问题。随着人工智能技术的快速发展和普及,越来越多的企业开始将其应用于产品研发、销售流程优化、客…

一学就会---移除链表相同元素

文章目录 题目描述思路一:思路二: 题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例: 思路一: 要移除链表中值为val的结…

Lecture 3 N-gram Language Models

目录 Probabilities: Joint to Conditional 概率:联合概率到条件概率The Markov Assumption 马尔可夫假设Maximum Likelihood Estimation 最大似然估计Book-ending Sequences 序列的开头和结尾Problems with N-gram models N-gram模型的问题Smoothing 平滑处理In Pr…

Mujoco210 Ubuntu 22.04配置安装

.1 下载 1.1 解压 先是下载软件包 然后 mkdir ~/.mujoco缩包所在位置(一般在下载目录下)在终端打开,输入以下命令将压缩包解压到.mujoco文件夹中: tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco1.2 许可问题 有说mu…

concrt140.dll丢失怎么修复?concrt140.dll丢失的最新修复教程

今天准备打开电脑软件时候,当打开我自己的软件后,弹出了一个对话框,内容是:由于找不到concrt140.dll,无法继续执行代码。重新安装程序可能会解决此问题。 我很纳闷,前几天还好好着呢。于是我上网上查了一下…

八、EGL实践

第一部分基础概念 1)引入 之前的OpenGLes应用的开发都是使用类GLSurfaceView ,然而GLSurfaceView 是内部已经实现了EGL的封装,也就是对Display,surface,context的管理。因此我们也很方便的利用GLSurfaceView.Rendere…

零基础入门网络安全/Web安全,收藏这一篇就够了

前言 由于我之前写了不少网络安全技术相关的文章和回答,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人私信问我: 我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选&…

高频面试八股文用法篇(八) == 和 equals 的区别

目录 区别 如何对equals重写 为何重写equals方法就得重写hashCode方法 扩展延伸 1、使用HashSet存储自定义类对象时为什么要重写equals和hashCode方法? 2、HashMap为什么要同时重写hashCode和equals方法 区别 一、对象类型不同 1、equals():是超类…

第二章:MySQL环境搭建

第二章:MySQL环境搭建 2.1:MySQL的下载、安装、配置 MySQL的四大版本 MySQL Community Server社区版本:开源免费、自由下载,但不提供官方技术支持,适用于大多数普通用户。MySQL Enterprise Edition企业版本&#xff1…

SpringBoot个人博客系统(含源码+数据库)

一、作品设计理念 个人博客系统是一个让个人可以通过互联网自由表达、交流和分享的平台,是个人展示自己思想、感受和经验的品牌。设计理念对于任何一个个人博客系统来说都非常重要,它直接影响到用户的使用体验和网站的整体感觉。 好的设计理念应该着眼于…

小红书热搜榜TOP1,多巴胺时尚爆火,怎么抄作业?

今夏时尚,明媚与简约并存。要说今年夏天什么最火?多巴胺必须拥有姓名。无论男女、老少、人宠,都被这股快乐风带飞。 “多巴胺”有多火?就只是彩色穿搭吗?各大博主、品牌若想加入,要怎么玩?今儿&…

Python如何解决“京东滑块验证码”(5)

前言 本文是该专栏的第51篇,后面会持续分享python爬虫干货知识,记得关注。 多数情况下使用模拟登录会遇到滑块验证码的问题,对于普通的滑块验证码,使用selenium可以轻松解决。但是对于滑块缺失验证码,比如京东的滑块验证要怎么解决呢?京东滑块验证的这个滑块缺口,每次刷…

软件测试报告模板范文来了——优秀测试报告模板流程

一、软件测试报告是什么? 软件测试报告就是当软件开发人员开发出软件之后,在上市前交由测试人员进行一系列测试,再由测试人员对过程和结果的进行记录分析的一份文档。也是测试团队的工作成果展现,通过详细的记录测试内容&#xf…

算法修炼之筑基篇——筑基二层中期(讨论一下如何解决动态方程问题,没时间了,快快快看一下)

✨博主:命运之光 🦄专栏:算法修炼之练气篇 🍓专栏:算法修炼之筑基篇 ✨博主的其他文章:点击进入博主的主页 前言:学习了算法修炼之练气篇想必各位蒟蒻们的基础已经非常的扎实了,下来…

使用FFmpeg实现最简单的视频播放

按照之前的编译步骤我们会编译得到使用ffmpeg需要的文件,现在就使用ffmpeg实现最简单的视频播放 集成ffmpeg 使用Android Studio创建一个Native C项目编译之后得到三个文件夹 把include 文件夹放到cpp目录下面。 main 目录下面新建jniLibs 目录把lib文件下的so文件…

Java之BigDecimal使用

Java之BigDecimal使用 1、BigDecimal概述 ​ BigDecimal用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计…

OA系统,企业数字化转型的重要工具,用现成还是自己搭建呢

什么是OA系统 OA系统是办公自动化系统的简称,它是指一种基于计算机技术的办公工作管理系统,用于协调和规划企业内部各部门的信息发布、通信、人员流动、文档管理等方面的工作。它可以有效地提高企业办公效率和工作效益,优化企业内部沟通协作…