注:本模型代码在Jupyter编译
一、模型分析
通常,当体内能量守恒被破坏时就会引起体重的变化。人们通过饮食吸收热量,转化为脂肪等,导致体重增加:又由于代谢和运动消耗热量,引起体重减少。只要作适当的简化假设就可得到体重变化的关系。减肥计划应以不伤害身体为前提,这可以用吸收热量不要过少、减少体重不要过快来表达。当然,增加运动量是加速减肥的有效手段,也要在模型中加以考虑。
每日膳食中,营养的供给是作为保证正常人身体健康而提出的膳食质量标准,营养素的要求量是指维持身体正常的生理能所需的营养素的数量,如果人们在饮食中摄入营养素的数量低于这个数量,将使身体产生不利的影响。(每天膳食提供的热量不少于5000一7500J这是维持正常命活动的最少热量)
通常,制定减肥计划以周为时间单位比较方便,所以这里用离散时间模型——差分方程模型来谈论。
二、模型假设
根据上述分析,参考有关生理数据,作出以下简化假设:
- 体重增加正比于吸收的热量,平均每8000kcal增加体重1kg(kcal为非国际单位制单位1kca=4.2kj);
- 正常代谢引起的体重减少正比于体重,每周每公斤体重消耗热量一般在200kcal至320kcal之间,且因人而异,这相当于体重70kg的人每天消耗2000kcak至3200kcal;
- 运动引起的体重减少正比于体重,且与运动形式有关;
- 为了安全与健康,每周体重减少不宜超过1.5kg,每周吸收热量不要小于10000kcal。
三、符号说明
w0:初始体重
c0:初始每周摄入能量
a:1/8000(kg/kcal),体重增加正比于吸收的热量——每8000kcal增加体重1kg
b:代谢消耗系数(因人而异)
cmin:每周最少摄入的能量
h:每周运动时间
sport_type:运动类型
n:第一阶段吸收热量至下限时每周减少的热量
w_ideal:理想体重
四、代码实现
1.导入相关库并设置字体
from sympy import *
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False