{"id":66899,"date":"2026-01-27T20:17:36","date_gmt":"2026-01-27T12:17:36","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/66899.html"},"modified":"2026-01-27T20:17:36","modified_gmt":"2026-01-27T12:17:36","slug":"2026%e5%b9%b4%e6%95%b0%e5%ad%a6%e5%bb%ba%e6%a8%a1%e7%be%8e%e8%b5%9b-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9e%8b%e7%ae%97%e6%b3%95-%e5%b8%b8%e5%be%ae%e5%88%86%e6%96%b9%e7%a8%8b%e5%9c%a8%e6%95%b0%e5%ad%a6","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/66899.html","title":{"rendered":"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66"},"content":{"rendered":"<p>2026\u7f8e\u8d5b\u671f\u95f4\u4f1a\u6301\u7eed\u66f4\u65b0\u76f8\u5173\u5185\u5bb9&#xff0c;\u6240\u6709\u5185\u5bb9\u4f1a\u53d1\u5e03\u5230\u4e13\u680f\u5185&#xff0c;\u4f1a\u7ed3\u5408\u6700\u65b0\u7684chatgpt\u53d1\u5e03&#xff0c;\u53ea\u9700\u8ba2\u9605\u4e00\u6b21&#xff0c;\u8d5b\u540e\u4e24\u5929\u534a\u4ef7&#xff0c;\u5185\u5bb9\u8fbe\u4e0d\u5230\u6240\u6709\u4eba\u9884\u671f&#xff0c;\u8bf7\u52ff\u76f2\u76ee\u8ba2\u9605&#xff01;&#xff01;&#xff01;\u65e0\u8bba\u6587&#xff01;\u65e0\u8bba\u6587&#xff01;&#xff01;&#xff01;<\/p>\n<\/p>\n<h3>\u6458\u8981<\/h3>\n<p>\u5e38\u5fae\u5206\u65b9\u7a0b&#xff08;Ordinary Differential Equations, ODEs&#xff09;\u4f5c\u4e3a\u63cf\u8ff0\u7cfb\u7edf\u52a8\u6001\u6f14\u5316\u7684\u6570\u5b66\u5de5\u5177&#xff0c;\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u5360\u636e\u6838\u5fc3\u5730\u4f4d\u3002\u672c\u6587\u4ece\u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u7684\u5b9e\u7528\u89c6\u89d2\u51fa\u53d1&#xff0c;\u7cfb\u7edf\u9610\u8ff0ODE\u5728\u4eba\u53e3\u589e\u957f\u548c\u4f20\u67d3\u75c5SIR\u6a21\u578b\u4e2d\u7684\u5e94\u7528\u3002\u9996\u5148&#xff0c;\u6df1\u5165\u63a2\u8ba8ODE\u7684\u6838\u5fc3\u601d\u60f3\u4e0e\u6570\u5b66\u6a21\u578b&#xff0c;\u5305\u62ec\u57fa\u672c\u6982\u5ff5\u3001\u5206\u7c7b\u548c\u89e3\u7684\u7ed3\u6784\u7279\u6027\u3002\u5176\u6b21&#xff0c;\u5206\u6790ODE\u5728\u5efa\u6a21\u7ade\u8d5b\u4e2d\u7684\u9002\u7528\u573a\u666f\u4e0e\u5178\u578b\u8d5b\u9898\u7c7b\u578b\u3002\u63a5\u7740&#xff0c;\u8be6\u7ec6\u8bf4\u660e\u5177\u4f53\u5efa\u6a21\u6b65\u9aa4\u4e0e\u5173\u952e\u6280\u5de7&#xff0c;\u5e76\u63d0\u4f9b\u5e38\u7528\u6c42\u89e3\u5de5\u5177\u548c\u4ee3\u7801\u793a\u4f8b\u3002\u7136\u540e&#xff0c;\u901a\u8fc7\u4e00\u4e2a\u5b8c\u6574\u7684\u7f8e\u8d5b\u7b80\u5316\u6848\u4f8b\u5c55\u793aODE\u5efa\u6a21\u7684\u5168\u8fc7\u7a0b\u3002\u6700\u540e&#xff0c;\u8bc4\u4f30\u8be5\u65b9\u6cd5\u7684\u4f18\u7f3a\u70b9\u5e76\u63d0\u51fa\u6539\u8fdb\u65b9\u5411\u3002\u672c\u6587\u65e8\u5728\u4e3a\u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u53c2\u4e0e\u8005\u63d0\u4f9bODE\u5efa\u6a21\u7684\u7cfb\u7edf\u6027\u6307\u5bfc&#xff0c;\u63d0\u5347\u89e3\u51b3\u5b9e\u9645\u52a8\u6001\u7cfb\u7edf\u95ee\u9898\u7684\u80fd\u529b\u3002<\/p>\n<p>\u5173\u952e\u8bcd&#xff1a;\u5e38\u5fae\u5206\u65b9\u7a0b&#xff1b;\u6570\u5b66\u5efa\u6a21&#xff1b;\u4eba\u53e3\u589e\u957f&#xff1b;SIR\u6a21\u578b&#xff1b;\u4f20\u67d3\u75c5\u52a8\u529b\u5b66&#xff1b;\u6570\u503c\u6c42\u89e3<\/p>\n<hr \/>\n<h3>1. \u6838\u5fc3\u601d\u60f3\u4e0e\u6570\u5b66\u6a21\u578b<\/h3>\n<h4>1.1 \u5e38\u5fae\u5206\u65b9\u7a0b\u57fa\u672c\u6982\u5ff5<\/h4>\n<p>\u5e38\u5fae\u5206\u65b9\u7a0b\u662f\u63cf\u8ff0\u672a\u77e5\u51fd\u6570\u4e0e\u5176\u5bfc\u6570\u4e4b\u95f4\u5173\u7cfb\u7684\u65b9\u7a0b&#xff0c;\u5176\u4e2d\u672a\u77e5\u51fd\u6570\u4ec5\u4f9d\u8d56\u4e8e\u4e00\u4e2a\u81ea\u53d8\u91cf\u3002\u5728\u6570\u5b66\u5efa\u6a21\u4e2d&#xff0c;\u65f6\u95f4t\u5e38\u4f5c\u4e3a\u81ea\u53d8\u91cf&#xff0c;\u800c\u7cfb\u7edf\u72b6\u6001\u53d8\u91cf&#xff08;\u5982\u4eba\u53e3\u6570\u91cf\u3001\u611f\u67d3\u4eba\u6570\u7b49&#xff09;\u4f5c\u4e3a\u56e0\u53d8\u91cf\u3002ODE\u7684\u4e00\u822c\u5f62\u5f0f\u4e3a&#xff1a;<\/p>\n<p>F(t,y,y\u2032,y\u2032\u2032,\u2026,y(n))&#061;0F(t,y,y\u2032,y\u2032\u2032,\u2026,y(n))&#061;0<\/p>\n<p>\u5176\u4e2dy&#061;y(t)y&#061;y(t)\u662f\u672a\u77e5\u51fd\u6570&#xff0c;y\u2032,y\u2032\u2032,\u2026,y(n)y\u2032,y\u2032\u2032,\u2026,y(n)\u662f\u5176\u5173\u4e8et\u7684\u5404\u9636\u5bfc\u6570\u3002<\/p>\n<p>\u5bf9\u4e8en\u9636ODE&#xff0c;\u82e5\u5b58\u5728\u5f62\u5f0f&#xff1a;<\/p>\n<p>y(n)&#061;f(t,y,y\u2032,\u2026,y(n\u22121))y(n)&#061;f(t,y,y\u2032,\u2026,y(n\u22121))<\/p>\n<p>\u5219\u79f0\u4e3a\u663e\u5f0fODE\u3002\u521d\u503c\u95ee\u9898\u7684\u63d0\u6cd5\u4e3a&#xff1a;\u5728\u7ed9\u5b9a\u521d\u59cb\u6761\u4ef6y(t0)&#061;y0,y\u2032(t0)&#061;y0\u2032,\u2026,y(n\u22121)(t0)&#061;y0(n\u22121)y(t0\u200b)&#061;y0\u200b,y\u2032(t0\u200b)&#061;y0\u2032\u200b,\u2026,y(n\u22121)(t0\u200b)&#061;y0(n\u22121)\u200b\u4e0b&#xff0c;\u6c42\u89e3\u6ee1\u8db3ODE\u7684\u51fd\u6570y(t)y(t)\u3002<\/p>\n<h4>1.2 \u4eba\u53e3\u589e\u957f\u6a21\u578b<\/h4>\n<h5>1.2.1 Malthus\u6a21\u578b&#xff08;\u6307\u6570\u589e\u957f\u6a21\u578b&#xff09;<\/h5>\n<p>\u9a6c\u5c14\u8428\u65af\u4e8e1798\u5e74\u63d0\u51fa\u7684\u4eba\u53e3\u589e\u957f\u6a21\u578b\u57fa\u4e8e\u4e00\u4e2a\u57fa\u672c\u5047\u8bbe&#xff1a;\u4eba\u53e3\u589e\u957f\u7387\u4e0e\u5f53\u524d\u4eba\u53e3\u6570\u91cf\u6210\u6b63\u6bd4\u3002\u8be5\u6a21\u578b\u8868\u793a\u4e3a&#xff1a;<\/p>\n<p>dPdt&#061;rPdtdP\u200b&#061;rP<\/p>\n<p>\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>\n<p>P(t)P(t)&#xff1a;t\u65f6\u523b\u7684\u4eba\u53e3\u6570\u91cf<\/p>\n<\/li>\n<li>\n<p>rr&#xff1a;\u5185\u7980\u589e\u957f\u7387&#xff08;\u51fa\u751f\u7387\u4e0e\u6b7b\u4ea1\u7387\u4e4b\u5dee&#xff09;<\/p>\n<\/li>\n<li>\n<p>tt&#xff1a;\u65f6\u95f4<\/p>\n<\/li>\n<\/ul>\n<p>\u7ed9\u5b9a\u521d\u59cb\u6761\u4ef6P(0)&#061;P0P(0)&#061;P0\u200b&#xff0c;\u53ef\u5f97\u89e3\u6790\u89e3&#xff1a;<\/p>\n<p>P(t)&#061;P0ertP(t)&#061;P0\u200bert<\/p>\n<p>\u8be5\u6a21\u578b\u9884\u6d4b\u4eba\u53e3\u5c06\u5448\u6307\u6570\u589e\u957f&#xff0c;\u9002\u7528\u4e8e\u8d44\u6e90\u5145\u8db3\u3001\u65e0\u9650\u5236\u73af\u5883\u4e0b\u7684\u77ed\u671f\u4eba\u53e3\u9884\u6d4b\u3002\u4f46\u957f\u671f\u6765\u770b&#xff0c;\u8d44\u6e90\u9650\u5236\u4f1a\u4f7f\u589e\u957f\u653e\u7f13&#xff0c;\u4e0e\u5b9e\u9645\u89c2\u6d4b\u4e0d\u7b26\u3002<\/p>\n<h5>1.2.2 Logistic\u6a21\u578b&#xff08;\u963b\u6ede\u589e\u957f\u6a21\u578b&#xff09;<\/h5>\n<p>1838\u5e74&#xff0c;Verhulst\u63d0\u51faLogistic\u6a21\u578b\u4ee5\u4fee\u6b63Malthus\u6a21\u578b\u7684\u7f3a\u9677&#xff0c;\u5f15\u5165\u73af\u5883\u627f\u8f7d\u529bK\u7684\u6982\u5ff5&#xff1a;<\/p>\n<p>dPdt&#061;rP(1\u2212PK)dtdP\u200b&#061;rP(1\u2212KP\u200b)<\/p>\n<p>\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>\n<p>KK&#xff1a;\u73af\u5883\u627f\u8f7d\u529b&#xff08;\u6700\u5927\u53ef\u6301\u7eed\u4eba\u53e3\u6570\u91cf&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u56e0\u5b50(1\u2212P\/K)(1\u2212P\/K)&#xff1a;\u73af\u5883\u963b\u529b\u9879&#xff0c;\u968fP\u63a5\u8fd1K\u800c\u51cf\u5c0f<\/p>\n<\/li>\n<\/ul>\n<p>\u8be5\u65b9\u7a0b\u53ef\u5206\u79bb\u53d8\u91cf\u6c42\u89e3&#xff1a;<\/p>\n<p>dPP(1\u2212P\/K)&#061;r\u2009dtP(1\u2212P\/K)dP\u200b&#061;rdt<\/p>\n<p>\u79ef\u5206\u5f97&#xff1a;<\/p>\n<p>P(t)&#061;K1&#043;(K\u2212P0P0)e\u2212rtP(t)&#061;1&#043;(P0\u200bK\u2212P0\u200b\u200b)e\u2212rtK\u200b<\/p>\n<p>Logistic\u66f2\u7ebf\u5448S\u5f62&#xff1a;\u521d\u59cb\u8fd1\u4f3c\u6307\u6570\u589e\u957f&#xff0c;\u968f\u540e\u589e\u957f\u653e\u7f13&#xff0c;\u6700\u7ec8\u8d8b\u4e8e\u7a33\u5b9a\u503cK\u3002\u8be5\u6a21\u578b\u66f4\u7b26\u5408\u5b9e\u9645\u89c2\u6d4b&#xff0c;\u5e7f\u6cdb\u5e94\u7528\u4e8e\u751f\u6001\u5b66\u3001\u7ecf\u6d4e\u5b66\u7b49\u9886\u57df\u3002<\/p>\n<h5>1.2.3 \u6539\u8fdb\u7684\u4eba\u53e3\u589e\u957f\u6a21\u578b<\/h5>\n<p>\u5b9e\u9645\u5e94\u7528\u4e2d&#xff0c;\u53ef\u6839\u636e\u5177\u4f53\u60c5\u51b5\u5bf9Logistic\u6a21\u578b\u8fdb\u884c\u6539\u8fdb&#xff1a;<\/p>\n<li>\n<p>\u65f6\u53d8\u627f\u8f7d\u529b\u6a21\u578b&#xff1a;K&#061;K(t)K&#061;K(t)&#xff0c;\u53cd\u6620\u73af\u5883\u53d8\u5316<\/p>\n<p> dPdt&#061;rP(1\u2212PK(t))dtdP\u200b&#061;rP(1\u2212K(t)P\u200b)<\/li>\n<li>\n<p>\u65f6\u53d8\u589e\u957f\u7387\u6a21\u578b&#xff1a;r&#061;r(t)r&#061;r(t)&#xff0c;\u53cd\u6620\u653f\u7b56\u3001\u6280\u672f\u7b49\u56e0\u7d20<\/p>\n<p> dPdt&#061;r(t)P(1\u2212PK)dtdP\u200b&#061;r(t)P(1\u2212KP\u200b)<\/li>\n<li>\n<p>\u5e26Allee\u6548\u5e94\u7684\u6a21\u578b&#xff1a;\u79cd\u7fa4\u5bc6\u5ea6\u8fc7\u4f4e\u65f6\u589e\u957f\u7387\u4e3a\u8d1f<\/p>\n<p> dPdt&#061;rP(PA\u22121)(1\u2212PK),0&lt;A&lt;KdtdP\u200b&#061;rP(AP\u200b\u22121)(1\u2212KP\u200b),0&lt;A&lt;K<\/li>\n<li>\n<p>\u8003\u8651\u5e74\u9f84\u7ed3\u6784\u7684\u6a21\u578b&#xff1a;\u5c06\u4eba\u53e3\u6309\u5e74\u9f84\u5206\u7ec4&#xff0c;\u5efa\u7acb\u65b9\u7a0b\u7ec4<\/p>\n<p> \u2202P(a,t)\u2202t&#043;\u2202P(a,t)\u2202a&#061;\u2212\u03bc(a,t)P(a,t)\u2202t\u2202P(a,t)\u200b&#043;\u2202a\u2202P(a,t)\u200b&#061;\u2212\u03bc(a,t)P(a,t) <\/p>\n<p>\u5176\u4e2dP(a,t)P(a,t)\u8868\u793at\u65f6\u523b\u5e74\u9f84\u4e3aa\u7684\u4eba\u53e3\u5bc6\u5ea6\u3002<\/p>\n<\/li>\n<h4>1.3 \u4f20\u67d3\u75c5SIR\u6a21\u578b<\/h4>\n<h5>1.3.1 \u7ecf\u5178SIR\u6a21\u578b<\/h5>\n<p>Kermack\u548cMcKendrick\u4e8e1927\u5e74\u63d0\u51fa\u7684SIR\u6a21\u578b\u662f\u4f20\u67d3\u75c5\u52a8\u529b\u5b66\u7684\u57fa\u7840\u3002\u6a21\u578b\u5c06\u4eba\u7fa4\u5206\u4e3a\u4e09\u7c7b&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u6613\u611f\u8005(Susceptible, S)&#xff1a;\u53ef\u80fd\u88ab\u611f\u67d3\u7684\u5065\u5eb7\u4e2a\u4f53<\/p>\n<\/li>\n<li>\n<p>\u611f\u67d3\u8005(Infected, I)&#xff1a;\u5df2\u611f\u67d3\u4e14\u80fd\u4f20\u64ad\u75be\u75c5\u7684\u4e2a\u4f53<\/p>\n<\/li>\n<li>\n<p>\u79fb\u51fa\u8005(Removed, R)&#xff1a;\u5eb7\u590d\u5e76\u83b7\u5f97\u514d\u75ab\u529b\u6216\u6b7b\u4ea1\u7684\u4e2a\u4f53<\/p>\n<\/li>\n<\/ul>\n<p>\u6a21\u578b\u5047\u8bbe\u5982\u4e0b&#xff1a;<\/p>\n<li>\n<p>\u603b\u4eba\u53e3\u6570N&#061;S&#043;I&#043;RN&#061;S&#043;I&#043;R\u6052\u5b9a&#xff08;\u4e0d\u8003\u8651\u51fa\u751f\u3001\u6b7b\u4ea1\u548c\u8fc1\u79fb&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u5747\u5300\u6df7\u5408&#xff1a;\u4e2a\u4f53\u968f\u673a\u63a5\u89e6<\/p>\n<\/li>\n<li>\n<p>\u611f\u67d3\u7387\u4e0eSI\u4e58\u79ef\u6210\u6b63\u6bd4<\/p>\n<\/li>\n<li>\n<p>\u6062\u590d\u7387\u4e0eI\u6210\u6b63\u6bd4<\/p>\n<\/li>\n<p>\u6a21\u578b\u65b9\u7a0b&#xff1a;<\/p>\n<p>dSdt&#061;\u2212\u03b2SINdIdt&#061;\u03b2SIN\u2212\u03b3IdRdt&#061;\u03b3IdtdS\u200bdtdI\u200bdtdR\u200b\u200b&#061;\u2212\u03b2NSI\u200b&#061;\u03b2NSI\u200b\u2212\u03b3I&#061;\u03b3I\u200b<\/p>\n<p>\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u03b2\u03b2&#xff1a;\u611f\u67d3\u7387&#xff08;\u6709\u6548\u63a5\u89e6\u7387&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u03b3\u03b3&#xff1a;\u6062\u590d\u7387&#xff08;\u6062\u590d\u7387\u7684\u5012\u6570\u4e3a\u5e73\u5747\u611f\u67d3\u671f1\/\u03b31\/\u03b3&#xff09;<\/p>\n<\/li>\n<\/ul>\n<h5>1.3.2 \u57fa\u672c\u518d\u751f\u6570R0R0\u200b<\/h5>\n<p>\u57fa\u672c\u518d\u751f\u6570R0R0\u200b\u662f\u4f20\u67d3\u75c5\u52a8\u529b\u5b66\u7684\u5173\u952e\u53c2\u6570&#xff0c;\u8868\u793a\u4e00\u4e2a\u611f\u67d3\u8005\u5728\u5b8c\u5168\u6613\u611f\u4eba\u7fa4\u4e2d\u5f15\u8d77\u7684\u5e73\u5747\u65b0\u611f\u67d3\u6570\u3002\u5bf9\u4e8eSIR\u6a21\u578b&#xff1a;<\/p>\n<p>R0&#061;\u03b2\u03b3R0\u200b&#061;\u03b3\u03b2\u200b<\/p>\n<ul>\n<li>\n<p>\u82e5R0&gt;1R0\u200b&gt;1&#xff0c;\u75be\u75c5\u53ef\u80fd\u6d41\u884c<\/p>\n<\/li>\n<li>\n<p>\u82e5R0&lt;1R0\u200b&lt;1&#xff0c;\u75be\u75c5\u9010\u6e10\u6d88\u5931<\/p>\n<\/li>\n<li>\n<p>R0&#061;1R0\u200b&#061;1\u662f\u75be\u75c5\u4f20\u64ad\u7684\u9608\u503c<\/p>\n<\/li>\n<\/ul>\n<h5>1.3.3 SIR\u6a21\u578b\u7684\u6269\u5c55<\/h5>\n<p>\u5b9e\u9645\u5e94\u7528\u4e2d\u5e38\u5bf9SIR\u6a21\u578b\u8fdb\u884c\u6269\u5c55&#xff1a;<\/p>\n<li>\n<p>SEIR\u6a21\u578b&#xff1a;\u589e\u52a0\u6f5c\u4f0f\u671f\u4eba\u7fa4(Exposed, E)<\/p>\n<p> dSdt&#061;\u2212\u03b2SINdEdt&#061;\u03b2SIN\u2212\u03c3EdIdt&#061;\u03c3E\u2212\u03b3IdRdt&#061;\u03b3IdtdS\u200bdtdE\u200bdtdI\u200bdtdR\u200b\u200b&#061;\u2212\u03b2NSI\u200b&#061;\u03b2NSI\u200b\u2212\u03c3E&#061;\u03c3E\u2212\u03b3I&#061;\u03b3I\u200b <\/p>\n<p>\u5176\u4e2d\u03c3\u03c3\u4e3a\u6f5c\u4f0f\u671f\u5230\u53d1\u75c5\u7684\u8f6c\u79fb\u7387\u3002<\/p>\n<\/li>\n<li>\n<p>SIS\u6a21\u578b&#xff1a;\u5eb7\u590d\u540e\u65e0\u514d\u75ab\u529b&#xff0c;\u91cd\u65b0\u53d8\u4e3a\u6613\u611f\u8005<\/p>\n<p> dSdt&#061;\u2212\u03b2SIN&#043;\u03b3IdIdt&#061;\u03b2SIN\u2212\u03b3IdtdS\u200bdtdI\u200b\u200b&#061;\u2212\u03b2NSI\u200b&#043;\u03b3I&#061;\u03b2NSI\u200b\u2212\u03b3I\u200b<\/li>\n<li>\n<p>\u8003\u8651\u4eba\u53e3\u52a8\u529b\u5b66\u7684SIR\u6a21\u578b&#xff1a;\u5305\u542b\u51fa\u751f\u548c\u6b7b\u4ea1<\/p>\n<p> dSdt&#061;\u03bcN\u2212\u03b2SIN\u2212\u03bcSdIdt&#061;\u03b2SIN\u2212\u03b3I\u2212\u03bcIdRdt&#061;\u03b3I\u2212\u03bcRdtdS\u200bdtdI\u200bdtdR\u200b\u200b&#061;\u03bcN\u2212\u03b2NSI\u200b\u2212\u03bcS&#061;\u03b2NSI\u200b\u2212\u03b3I\u2212\u03bcI&#061;\u03b3I\u2212\u03bcR\u200b <\/p>\n<p>\u5176\u4e2d\u03bc\u03bc\u4e3a\u51fa\u751f\u7387\u548c\u6b7b\u4ea1\u7387&#xff08;\u5047\u8bbe\u76f8\u7b49&#xff09;\u3002<\/p>\n<\/li>\n<li>\n<p>\u7a7a\u95f4\u5f02\u8d28\u6027\u6a21\u578b&#xff1a;\u8003\u8651\u7a7a\u95f4\u6269\u6563<\/p>\n<p> \u2202S\u2202t&#061;DS\u22072S\u2212\u03b2SI\u2202t\u2202S\u200b&#061;DS\u200b\u22072S\u2212\u03b2SI\u2202I\u2202t&#061;DI\u22072I&#043;\u03b2SI\u2212\u03b3I\u2202t\u2202I\u200b&#061;DI\u200b\u22072I&#043;\u03b2SI\u2212\u03b3I <\/p>\n<p>\u5176\u4e2dDS,DIDS\u200b,DI\u200b\u4e3a\u6269\u6563\u7cfb\u6570\u3002<\/p>\n<\/li>\n<h5>1.3.4 \u6a21\u578b\u5206\u6790\u4e0e\u76f8\u5e73\u9762<\/h5>\n<p>\u5bf9\u4e8eSIR\u6a21\u578b&#xff0c;\u6ce8\u610f\u5230dS\/dt&#043;dI\/dt&#043;dR\/dt&#061;0dS\/dt&#043;dI\/dt&#043;dR\/dt&#061;0&#xff0c;\u6545\u603b\u4eba\u53e3\u5b88\u6052\u3002\u5b9a\u4e49\u76f8\u5bf9\u6bd4\u4f8bs&#061;S\/N,i&#061;I\/N,r&#061;R\/Ns&#061;S\/N,i&#061;I\/N,r&#061;R\/N&#xff0c;\u5219&#xff1a;<\/p>\n<p>dsdt&#061;\u2212\u03b2sididt&#061;\u03b2si\u2212\u03b3idrdt&#061;\u03b3idtds\u200bdtdi\u200bdtdr\u200b\u200b&#061;\u2212\u03b2si&#061;\u03b2si\u2212\u03b3i&#061;\u03b3i\u200b<\/p>\n<p>\u76f8\u5e73\u9762\u5206\u6790\u53ef\u5728s\u2212is\u2212i\u5e73\u9762\u8fdb\u884c\u3002\u7531\u524d\u4e24\u5f0f\u5f97&#xff1a;<\/p>\n<p>dids&#061;\u22121&#043;\u03b3\u03b2s&#061;\u22121&#043;1R0sdsdi\u200b&#061;\u22121&#043;\u03b2s\u03b3\u200b&#061;\u22121&#043;R0\u200bs1\u200b<\/p>\n<p>\u79ef\u5206\u5f97&#xff1a;<\/p>\n<p>i(s)&#061;(1\u2212s)&#043;1R0ln\u2061(ss0)i(s)&#061;(1\u2212s)&#043;R0\u200b1\u200bln(s0\u200bs\u200b)<\/p>\n<p>\u5176\u4e2ds0s0\u200b\u4e3a\u521d\u59cb\u65f6\u523b\u7684s\u503c\u3002\u7531\u6b64\u53ef\u5206\u6790\u75be\u75c5\u6700\u7ec8\u89c4\u6a21\u3002<\/p>\n<hr \/>\n<h3>2. \u9002\u7528\u573a\u666f\u4e0e\u5178\u578b\u8d5b\u9898\u7c7b\u578b<\/h3>\n<h4>2.1 ODE\u5efa\u6a21\u7684\u9002\u7528\u573a\u666f<\/h4>\n<p>ODE\u9002\u7528\u4e8e\u63cf\u8ff0\u8fde\u7eed\u65f6\u95f4\u52a8\u6001\u7cfb\u7edf&#xff0c;\u7279\u522b\u662f&#xff1a;<\/p>\n<li>\n<p>\u79cd\u7fa4\u52a8\u529b\u5b66&#xff1a;\u4eba\u53e3\u589e\u957f\u3001\u7269\u79cd\u7ade\u4e89\u3001\u6355\u98df-\u88ab\u6355\u98df\u5173\u7cfb<\/p>\n<\/li>\n<li>\n<p>\u6d41\u884c\u75c5\u5b66&#xff1a;\u4f20\u67d3\u75c5\u4f20\u64ad\u3001\u4fe1\u606f\u4f20\u64ad\u3001\u8c23\u8a00\u6269\u6563<\/p>\n<\/li>\n<li>\n<p>\u751f\u6001\u5b66&#xff1a;\u751f\u6001\u7cfb\u7edf\u6f14\u5316\u3001\u6c61\u67d3\u7269\u6269\u6563<\/p>\n<\/li>\n<li>\n<p>\u7269\u7406\u5b66&#xff1a;\u7269\u4f53\u8fd0\u52a8\u3001\u7535\u8def\u5206\u6790\u3001\u70ed\u4f20\u5bfc<\/p>\n<\/li>\n<li>\n<p>\u7ecf\u6d4e\u5b66&#xff1a;\u7ecf\u6d4e\u589e\u957f\u3001\u5e02\u573a\u5747\u8861\u3001\u6295\u8d44\u51b3\u7b56<\/p>\n<\/li>\n<li>\n<p>\u793e\u4f1a\u5b66&#xff1a;\u89c2\u70b9\u4f20\u64ad\u3001\u793e\u4f1a\u7f51\u7edc\u6f14\u5316<\/p>\n<\/li>\n<li>\n<p>\u836f\u7406\u5b66&#xff1a;\u836f\u7269\u4ee3\u8c22\u3001\u836f\u4ee3\u52a8\u529b\u5b66<\/p>\n<\/li>\n<li>\n<p>\u73af\u5883\u79d1\u5b66&#xff1a;\u6c61\u67d3\u7269\u6d53\u5ea6\u53d8\u5316\u3001\u78b3\u5faa\u73af<\/p>\n<\/li>\n<h4>2.2 \u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u4e2d\u7684\u5178\u578b\u8d5b\u9898\u7c7b\u578b<\/h4>\n<h5>2.2.1 \u4eba\u53e3\u76f8\u5173\u95ee\u9898<\/h5>\n<li>\n<p>\u4eba\u53e3\u9884\u6d4b\u4e0e\u89c4\u5212&#xff1a;\u7ed9\u5b9a\u5386\u53f2\u6570\u636e&#xff0c;\u9884\u6d4b\u672a\u6765\u4eba\u53e3&#xff0c;\u8bc4\u4f30\u653f\u7b56\u6548\u679c<\/p>\n<\/li>\n<li>\n<p>\u8001\u9f84\u5316\u95ee\u9898&#xff1a;\u8003\u8651\u5e74\u9f84\u7ed3\u6784&#xff0c;\u5206\u6790\u517b\u8001\u91d1\u3001\u533b\u7597\u8d44\u6e90\u9700\u6c42<\/p>\n<\/li>\n<li>\n<p>\u8d44\u6e90\u627f\u8f7d\u5206\u6790&#xff1a;\u7ed3\u5408\u8d44\u6e90\u9650\u5236&#xff0c;\u786e\u5b9a\u53ef\u6301\u7eed\u4eba\u53e3\u89c4\u6a21<\/p>\n<\/li>\n<li>\n<p>\u79fb\u6c11\u5f71\u54cd\u8bc4\u4f30&#xff1a;\u7814\u7a76\u79fb\u6c11\u5bf9\u4eba\u53e3\u7ed3\u6784\u3001\u7ecf\u6d4e\u53d1\u5c55\u7684\u5f71\u54cd<\/p>\n<\/li>\n<p>\u771f\u9898\u793a\u4f8b&#xff1a;2019\u5e74\u7f8e\u8d5bC\u9898&#034;\u6bd2\u54c1\u95ee\u9898&#034;\u6d89\u53ca\u836f\u7269\u4f7f\u7528\u8005\u6570\u91cf\u53d8\u5316&#xff0c;\u53ef\u7528\u7c7b\u4f3c\u4f20\u67d3\u75c5\u6a21\u578b\u5efa\u6a21\u3002<\/p>\n<h5>2.2.2 \u4f20\u67d3\u75c5\u76f8\u5173\u95ee\u9898<\/h5>\n<li>\n<p>\u75ab\u60c5\u9884\u6d4b&#xff1a;\u57fa\u4e8e\u65e9\u671f\u6570\u636e\u9884\u6d4b\u75ab\u60c5\u53d1\u5c55\u8d8b\u52bf<\/p>\n<\/li>\n<li>\n<p>\u5e72\u9884\u63aa\u65bd\u8bc4\u4f30&#xff1a;\u9694\u79bb\u3001\u75ab\u82d7\u63a5\u79cd\u3001\u793e\u4ea4\u8ddd\u79bb\u7b49\u63aa\u65bd\u6548\u679c\u5206\u6790<\/p>\n<\/li>\n<li>\n<p>\u533b\u7597\u8d44\u6e90\u9700\u6c42&#xff1a;\u9884\u6d4b\u75c5\u5e8a\u3001\u547c\u5438\u673a\u7b49\u533b\u7597\u8d44\u6e90\u9700\u6c42\u5cf0\u503c<\/p>\n<\/li>\n<li>\n<p>\u75ab\u82d7\u5206\u914d\u7b56\u7565&#xff1a;\u6709\u9650\u75ab\u82d7\u8d44\u6e90\u4e0b\u7684\u6700\u4f18\u5206\u914d\u65b9\u6848<\/p>\n<\/li>\n<li>\n<p>\u591a\u7fa4\u4f53\u4f20\u64ad&#xff1a;\u8003\u8651\u5e74\u9f84\u3001\u804c\u4e1a\u7b49\u4e0d\u540c\u7fa4\u4f53\u7684\u4f20\u64ad\u5dee\u5f02<\/p>\n<\/li>\n<p>\u771f\u9898\u793a\u4f8b&#xff1a;2020\u5e74\u7f8e\u8d5bD\u9898&#034;\u56e2\u961f\u5408\u4f5c\u7b56\u7565&#034;\u53ef\u501f\u9274\u4f20\u67d3\u75c5\u6a21\u578b\u7814\u7a76\u5408\u4f5c\u884c\u4e3a\u4f20\u64ad&#xff1b;2021\u5e74\u7f8e\u8d5bD\u9898&#034;\u97f3\u4e50\u5f71\u54cd&#034;\u53ef\u7528SIR\u7c7b\u6a21\u578b\u7814\u7a76\u97f3\u4e50\u504f\u597d\u4f20\u64ad\u3002<\/p>\n<h5>2.2.3 \u751f\u6001\u4e0e\u73af\u5883\u95ee\u9898<\/h5>\n<li>\n<p>\u7269\u79cd\u7ade\u4e89&#xff1a;Lotka-Volterra\u7ade\u4e89\u6a21\u578b<\/p>\n<p> dN1dt&#061;r1N1(1\u2212N1&#043;\u03b112N2K1)dN2dt&#061;r2N2(1\u2212N2&#043;\u03b121N1K2)dtdN1\u200b\u200bdtdN2\u200b\u200b\u200b&#061;r1\u200bN1\u200b(1\u2212K1\u200bN1\u200b&#043;\u03b112\u200bN2\u200b\u200b)&#061;r2\u200bN2\u200b(1\u2212K2\u200bN2\u200b&#043;\u03b121\u200bN1\u200b\u200b)\u200b<\/li>\n<li>\n<p>\u6355\u98df-\u88ab\u6355\u98df\u5173\u7cfb&#xff1a;Lotka-Volterra\u6355\u98df\u6a21\u578b<\/p>\n<p> dHdt&#061;rH\u2212aHPdPdt&#061;\u03f5aHP\u2212mPdtdH\u200bdtdP\u200b\u200b&#061;rH\u2212aHP&#061;\u03f5aHP\u2212mP\u200b <\/p>\n<p>\u5176\u4e2dH\u4e3a\u730e\u7269&#xff0c;P\u4e3a\u6355\u98df\u8005\u3002<\/p>\n<\/li>\n<li>\n<p>\u6c61\u67d3\u7269\u6269\u6563&#xff1a;\u591a\u4ecb\u8d28\u73af\u5883\u4e2d\u7684\u6c61\u67d3\u7269\u8fc1\u79fb\u8f6c\u5316<\/p>\n<\/li>\n<h5>2.2.4 \u793e\u4f1a\u7ecf\u6d4e\u95ee\u9898<\/h5>\n<li>\n<p>\u6280\u672f\u521b\u65b0\u6269\u6563&#xff1a;Bass\u6a21\u578b\u63cf\u8ff0\u65b0\u4ea7\u54c1\u3001\u65b0\u6280\u672f\u91c7\u7eb3<\/p>\n<p> dN(t)dt&#061;p[M\u2212N(t)]&#043;qMN(t)[M\u2212N(t)]dtdN(t)\u200b&#061;p[M\u2212N(t)]&#043;Mq\u200bN(t)[M\u2212N(t)] <\/p>\n<p>\u5176\u4e2dp\u4e3a\u521b\u65b0\u7cfb\u6570&#xff0c;q\u4e3a\u6a21\u4eff\u7cfb\u6570&#xff0c;M\u4e3a\u5e02\u573a\u6f5c\u529b\u3002<\/p>\n<\/li>\n<li>\n<p>\u8c23\u8a00\u4f20\u64ad&#xff1a;\u7c7b\u4f3c\u4f20\u67d3\u75c5\u6a21\u578b&#xff0c;\u4f46\u8003\u8651\u9057\u5fd8\u673a\u5236<\/p>\n<\/li>\n<li>\n<p>\u7ecf\u6d4e\u5468\u671f&#xff1a;\u7528\u52a8\u529b\u5b66\u65b9\u7a0b\u63cf\u8ff0\u7ecf\u6d4e\u589e\u957f\u6ce2\u52a8<\/p>\n<\/li>\n<h4>2.3 \u8d5b\u9898\u8bc6\u522b\u4e0e\u5efa\u6a21\u9009\u62e9<\/h4>\n<p>\u9762\u5bf9\u8d5b\u9898\u65f6&#xff0c;\u8bc6\u522b\u662f\u5426\u9002\u7528ODE\u5efa\u6a21\u7684\u5173\u952e\u6307\u6807&#xff1a;<\/p>\n<li>\n<p>\u7cfb\u7edf\u72b6\u6001\u968f\u65f6\u95f4\u8fde\u7eed\u53d8\u5316<\/p>\n<\/li>\n<li>\n<p>\u53d8\u5316\u7387\u4f9d\u8d56\u4e8e\u5f53\u524d\u72b6\u6001<\/p>\n<\/li>\n<li>\n<p>\u5ffd\u7565\u7a7a\u95f4\u5f02\u8d28\u6027\u6216\u53ef\u7b80\u5316\u4e3a\u5747\u503c\u573a<\/p>\n<\/li>\n<li>\n<p>\u968f\u673a\u6548\u5e94\u4e0d\u5360\u4e3b\u5bfc\u5730\u4f4d<\/p>\n<\/li>\n<p>\u82e5\u7cfb\u7edf\u79bb\u6563\u6027\u660e\u663e\u6216\u968f\u673a\u6027\u5360\u4e3b\u5bfc&#xff0c;\u5e94\u8003\u8651\u5dee\u5206\u65b9\u7a0b\u6216\u968f\u673a\u8fc7\u7a0b\u6a21\u578b\u3002<\/p>\n<hr \/>\n<h3>3. \u5177\u4f53\u5efa\u6a21\u6b65\u9aa4\u4e0e\u5173\u952e\u6280\u5de7<\/h3>\n<h4>3.1 ODE\u5efa\u6a21\u7684\u4e00\u822c\u6b65\u9aa4<\/h4>\n<h5>\u6b65\u9aa41&#xff1a;\u95ee\u9898\u5206\u6790\u4e0e\u5047\u8bbe\u5efa\u7acb<\/h5>\n<li>\n<p>\u660e\u786e\u7814\u7a76\u95ee\u9898&#xff1a;\u786e\u5b9a\u9700\u8981\u9884\u6d4b\u3001\u89e3\u91ca\u6216\u4f18\u5316\u7684\u76ee\u6807<\/p>\n<\/li>\n<li>\n<p>\u8bc6\u522b\u7cfb\u7edf\u8981\u7d20&#xff1a;\u786e\u5b9a\u72b6\u6001\u53d8\u91cf\u3001\u53c2\u6570\u548c\u63a7\u5236\u53d8\u91cf<\/p>\n<\/li>\n<li>\n<p>\u5efa\u7acb\u5408\u7406\u5047\u8bbe&#xff1a;\u7b80\u5316\u73b0\u5b9e&#xff0c;\u4f7f\u95ee\u9898\u53ef\u5904\u7406<\/p>\n<ul>\n<li>\n<p>\u5747\u5300\u6df7\u5408\u5047\u8bbe<\/p>\n<\/li>\n<li>\n<p>\u5ffd\u7565\u968f\u673a\u6ce2\u52a8<\/p>\n<\/li>\n<li>\n<p>\u53c2\u6570\u6052\u5b9a\u6027\u5047\u8bbe<\/p>\n<\/li>\n<li>\n<p>\u5c01\u95ed\u7cfb\u7edf\u5047\u8bbe<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u786e\u5b9a\u6a21\u578b\u7c7b\u578b&#xff1a;\u6839\u636e\u95ee\u9898\u7279\u70b9\u9009\u62e9\u5408\u9002\u6a21\u578b\u6846\u67b6<\/p>\n<\/li>\n<h5>\u6b65\u9aa42&#xff1a;\u53d8\u91cf\u5b9a\u4e49\u4e0e\u65b9\u7a0b\u5efa\u7acb<\/h5>\n<li>\n<p>\u5b9a\u4e49\u72b6\u6001\u53d8\u91cf&#xff1a;\u9009\u62e9\u6070\u5f53\u53d8\u91cf\u63cf\u8ff0\u7cfb\u7edf\u72b6\u6001<\/p>\n<\/li>\n<li>\n<p>\u5efa\u7acb\u6d41\u7a0b\u56fe&#xff1a;\u53ef\u89c6\u5316\u5404\u72b6\u6001\u95f4\u8f6c\u79fb\u5173\u7cfb<\/p>\n<\/li>\n<li>\n<p>\u63a8\u5bfc\u5fae\u5206\u65b9\u7a0b&#xff1a;\u57fa\u4e8e\u8d28\u91cf\u5b88\u6052\u3001\u901f\u7387\u5e73\u8861\u7b49\u539f\u7406<\/p>\n<ul>\n<li>\n<p>\u6d41\u5165\u7387 &#8211; \u6d41\u51fa\u7387 &#061; \u51c0\u53d8\u5316\u7387<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u786e\u5b9a\u53c2\u6570\u610f\u4e49&#xff1a;\u660e\u786e\u6bcf\u4e2a\u53c2\u6570\u7684\u7269\u7406\/\u751f\u7269\u610f\u4e49<\/p>\n<\/li>\n<h5>\u6b65\u9aa43&#xff1a;\u53c2\u6570\u4f30\u8ba1\u4e0e\u6570\u636e\u62df\u5408<\/h5>\n<li>\n<p>\u53c2\u6570\u6765\u6e90&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u6587\u732e\u8d44\u6599<\/p>\n<\/li>\n<li>\n<p>\u5b9e\u9a8c\u6570\u636e<\/p>\n<\/li>\n<li>\n<p>\u7edf\u8ba1\u5e74\u9274<\/p>\n<\/li>\n<li>\n<p>\u4e13\u5bb6\u7ecf\u9a8c<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u4f30\u8ba1\u65b9\u6cd5&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u6700\u5c0f\u4e8c\u4e58\u6cd5<\/p>\n<\/li>\n<li>\n<p>\u6700\u5927\u4f3c\u7136\u4f30\u8ba1<\/p>\n<\/li>\n<li>\n<p>\u8d1d\u53f6\u65af\u4f30\u8ba1<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u62df\u5408\u4f18\u5ea6\u8bc4\u4f30&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u6b8b\u5dee\u5206\u6790<\/p>\n<\/li>\n<li>\n<p>R\u00b2\u7edf\u8ba1\u91cf<\/p>\n<\/li>\n<li>\n<p>AIC\/BIC\u51c6\u5219<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<h5>\u6b65\u9aa44&#xff1a;\u6a21\u578b\u6c42\u89e3\u4e0e\u5206\u6790<\/h5>\n<li>\n<p>\u89e3\u6790\u6c42\u89e3&#xff1a;\u9002\u7528\u4e8e\u7b80\u5355\u7ebf\u6027\u65b9\u7a0b<\/p>\n<\/li>\n<li>\n<p>\u6570\u503c\u6c42\u89e3&#xff1a;Runge-Kutta\u7b49\u6570\u503c\u65b9\u6cd5<\/p>\n<\/li>\n<li>\n<p>\u7a33\u5b9a\u6027\u5206\u6790&#xff1a;\u5e73\u8861\u70b9\u5206\u6790&#xff0c;Jacobian\u77e9\u9635<\/p>\n<\/li>\n<li>\n<p>\u654f\u611f\u6027\u5206\u6790&#xff1a;\u53c2\u6570\u53d8\u5316\u5bf9\u7ed3\u679c\u7684\u5f71\u54cd\u7a0b\u5ea6<\/p>\n<\/li>\n<li>\n<p>\u5206\u5c94\u5206\u6790&#xff1a;\u53c2\u6570\u53d8\u5316\u5bfc\u81f4\u7cfb\u7edf\u5b9a\u6027\u884c\u4e3a\u6539\u53d8<\/p>\n<\/li>\n<h5>\u6b65\u9aa45&#xff1a;\u7ed3\u679c\u89e3\u91ca\u4e0e\u6a21\u578b\u68c0\u9a8c<\/h5>\n<li>\n<p>\u7ed3\u679c\u89e3\u91ca&#xff1a;\u5c06\u6570\u5b66\u7ed3\u679c\u8f6c\u5316\u4e3a\u5b9e\u9645\u95ee\u9898\u89e3\u7b54<\/p>\n<\/li>\n<li>\n<p>\u6a21\u578b\u9a8c\u8bc1&#xff1a;\u5bf9\u6bd4\u6a21\u578b\u9884\u6d4b\u4e0e\u5b9e\u9645\u89c2\u6d4b<\/p>\n<\/li>\n<li>\n<p>\u7a33\u5065\u6027\u5206\u6790&#xff1a;\u6539\u53d8\u5047\u8bbe\u6761\u4ef6&#xff0c;\u68c0\u9a8c\u7ed3\u679c\u7a33\u5b9a\u6027<\/p>\n<\/li>\n<li>\n<p>\u6a21\u578b\u6539\u8fdb&#xff1a;\u6839\u636e\u9a8c\u8bc1\u7ed3\u679c\u4fee\u6b63\u6a21\u578b<\/p>\n<\/li>\n<h4>3.2 \u5173\u952e\u6280\u5de7\u4e0e\u6ce8\u610f\u4e8b\u9879<\/h4>\n<h5>3.2.1 \u65e0\u91cf\u7eb2\u5316\u6280\u5de7<\/h5>\n<p>\u65e0\u91cf\u7eb2\u5316\u53ef\u7b80\u5316\u65b9\u7a0b&#xff0c;\u51cf\u5c11\u53c2\u6570\u6570\u91cf&#xff0c;\u63d0\u9ad8\u6570\u503c\u7a33\u5b9a\u6027\u3002\u4ee5Logistic\u65b9\u7a0b\u4e3a\u4f8b&#xff1a;<\/p>\n<p>\u539f\u59cb\u65b9\u7a0b&#xff1a;dPdt&#061;rP(1\u2212PK)dtdP\u200b&#061;rP(1\u2212KP\u200b)<\/p>\n<p>\u4ee4x&#061;PKx&#061;KP\u200b&#xff08;\u76f8\u5bf9\u4eba\u53e3&#xff09;&#xff0c;\u03c4&#061;rt\u03c4&#061;rt&#xff08;\u65e0\u91cf\u7eb2\u65f6\u95f4&#xff09;&#xff0c;\u5219&#xff1a;<\/p>\n<p>dxd\u03c4&#061;x(1\u2212x)d\u03c4dx\u200b&#061;x(1\u2212x)<\/p>\n<p>\u65b9\u7a0b\u7b80\u5316\u4e3a\u5355\u53c2\u6570\u5f62\u5f0f&#xff0c;\u4fbf\u4e8e\u5206\u6790\u3002<\/p>\n<h5>3.2.2 \u53c2\u6570\u654f\u611f\u6027\u5206\u6790<\/h5>\n<p>\u8bc4\u4f30\u53c2\u6570\u4e0d\u786e\u5b9a\u6027\u5bf9\u7ed3\u679c\u7684\u5f71\u54cd\u3002\u5c40\u90e8\u654f\u611f\u6027\u6307\u6570&#xff1a;<\/p>\n<p>Sp&#061;\u2202y\u2202p\u22c5pySp\u200b&#061;\u2202p\u2202y\u200b\u22c5yp\u200b<\/p>\n<p>\u5176\u4e2dy\u4e3a\u8f93\u51fa\u53d8\u91cf&#xff0c;p\u4e3a\u53c2\u6570\u3002\u5168\u5c40\u654f\u611f\u6027\u5206\u6790\u53ef\u91c7\u7528Sobol\u6307\u6570\u6cd5\u3002<\/p>\n<h5>3.2.3 \u76f8\u5e73\u9762\u5206\u6790\u6280\u5de7<\/h5>\n<p>\u5bf9\u4e8e\u4e8c\u7ef4\u81ea\u6cbb\u7cfb\u7edf&#xff1a;<\/p>\n<p>dxdt&#061;f(x,y)dydt&#061;g(x,y)dtdx\u200bdtdy\u200b\u200b&#061;f(x,y)&#061;g(x,y)\u200b<\/p>\n<li>\n<p>\u5bfb\u627e\u5e73\u8861\u70b9&#xff1a;\u89e3f(x,y)&#061;0,g(x,y)&#061;0f(x,y)&#061;0,g(x,y)&#061;0<\/p>\n<\/li>\n<li>\n<p>\u7ebf\u6027\u5316&#xff1a;\u5728\u5e73\u8861\u70b9(x\u2217,y\u2217)(x\u2217,y\u2217)\u5904\u8ba1\u7b97Jacobian\u77e9\u9635<\/p>\n<p> J&#061;[\u2202f\u2202x\u2202f\u2202y\u2202g\u2202x\u2202g\u2202y](x\u2217,y\u2217)J&#061;[\u2202x\u2202f\u200b\u2202x\u2202g\u200b\u200b\u2202y\u2202f\u200b\u2202y\u2202g\u200b\u200b](x\u2217,y\u2217)\u200b<\/li>\n<li>\n<p>\u7a33\u5b9a\u6027\u5224\u5b9a&#xff1a;\u6839\u636e\u7279\u5f81\u503c\u5b9e\u90e8\u7b26\u53f7\u5224\u65ad\u7a33\u5b9a\u6027<\/p>\n<\/li>\n<li>\n<p>\u7ed8\u5236\u96f6\u503e\u7ebf&#xff1a;f(x,y)&#061;0f(x,y)&#061;0\u548cg(x,y)&#061;0g(x,y)&#061;0\u7684\u66f2\u7ebf<\/p>\n<\/li>\n<h5>3.2.4 \u6570\u503c\u6c42\u89e3\u7a33\u5b9a\u6027<\/h5>\n<li>\n<p>\u6b65\u957f\u9009\u62e9&#xff1a;\u6b65\u957f\u8fc7\u5927\u4f1a\u5bfc\u81f4\u4e0d\u7a33\u5b9a&#xff0c;\u8fc7\u5c0f\u4f1a\u589e\u52a0\u8ba1\u7b97\u91cf<\/p>\n<\/li>\n<li>\n<p>\u65b9\u6cd5\u9009\u62e9&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u975e\u521a\u6027\u7cfb\u7edf&#xff1a;\u7ecf\u5178Runge-Kutta\u6cd5&#xff08;\u5982RK4&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u521a\u6027\u7cfb\u7edf&#xff1a;\u9690\u5f0f\u65b9\u6cd5&#xff08;\u5982Gear\u6cd5\u3001BDF\u6cd5&#xff09;<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u8bef\u5dee\u63a7\u5236&#xff1a;\u81ea\u9002\u5e94\u6b65\u957f\u8c03\u6574&#xff0c;\u5c40\u90e8\u622a\u65ad\u8bef\u5dee\u4f30\u8ba1<\/p>\n<\/li>\n<h5>3.2.5 \u6a21\u578b\u6bd4\u8f83\u4e0e\u9009\u62e9<\/h5>\n<p>\u4f7f\u7528\u4fe1\u606f\u51c6\u5219\u9009\u62e9\u6700\u5408\u9002\u6a21\u578b&#xff1a;<\/p>\n<ul>\n<li>\n<p>AIC&#xff08;Akaike\u4fe1\u606f\u51c6\u5219&#xff09;&#xff1a;AIC&#061;2k\u22122ln\u2061(L)AIC&#061;2k\u22122ln(L)<\/p>\n<\/li>\n<li>\n<p>BIC&#xff08;\u8d1d\u53f6\u65af\u4fe1\u606f\u51c6\u5219&#xff09;&#xff1a;BIC&#061;kln\u2061(n)\u22122ln\u2061(L)BIC&#061;kln(n)\u22122ln(L)<\/p>\n<\/li>\n<\/ul>\n<p>\u5176\u4e2dk\u4e3a\u53c2\u6570\u4e2a\u6570&#xff0c;n\u4e3a\u6570\u636e\u70b9\u6570&#xff0c;L\u4e3a\u4f3c\u7136\u51fd\u6570\u503c\u3002<\/p>\n<hr \/>\n<h3>4. \u5e38\u7528\u6c42\u89e3\u5de5\u5177\/\u4ee3\u7801\u793a\u4f8b<\/h3>\n<h4>4.1 \u5e38\u7528\u8f6f\u4ef6\u5de5\u5177<\/h4>\n<li>\n<p>MATLAB&#xff1a;ode45, ode23, ode15s\u7b49\u6c42\u89e3\u5668<\/p>\n<\/li>\n<li>\n<p>Python&#xff1a;SciPy\u7684odeint, solve_ivp<\/p>\n<\/li>\n<li>\n<p>R&#xff1a;deSolve\u5305<\/p>\n<\/li>\n<li>\n<p>Mathematica&#xff1a;DSolve, NDSolve<\/p>\n<\/li>\n<li>\n<p>Julia&#xff1a;DifferentialEquations.jl\u5305<\/p>\n<\/li>\n<h4>4.2 MATLAB\u4ee3\u7801\u793a\u4f8b<\/h4>\n<h5>4.2.1 Logistic\u4eba\u53e3\u589e\u957f\u6a21\u578b<\/h5>\n<p>matlab<\/p>\n<p>% Logistic\u6a21\u578b\u53c2\u6570<br \/>\nr &#061; 0.03;      % \u5e74\u589e\u957f\u7387<br \/>\nK &#061; 1000;      % \u73af\u5883\u627f\u8f7d\u529b&#xff08;\u767e\u4e07&#xff09;<br \/>\nP0 &#061; 100;      % \u521d\u59cb\u4eba\u53e3&#xff08;\u767e\u4e07&#xff09;<br \/>\ntspan &#061; [0 100]; % \u65f6\u95f4\u8303\u56f4&#xff08;\u5e74&#xff09;<\/p>\n<p>% \u5b9a\u4e49\u5fae\u5206\u65b9\u7a0b<br \/>\nlogisticODE &#061; &#064;(t, P) r * P * (1 &#8211; P\/K);<\/p>\n<p>% \u6570\u503c\u6c42\u89e3<br \/>\n[t, P] &#061; ode45(logisticODE, tspan, P0);<\/p>\n<p>% \u89e3\u6790\u89e3\u5bf9\u6bd4<br \/>\nP_analytic &#061; K .\/ (1 &#043; (K-P0)\/P0 * exp(-r*t));<\/p>\n<p>% \u7ed8\u56fe<br \/>\nfigure(&#039;Position&#039;, [100, 100, 900, 400])<\/p>\n<p>subplot(1,2,1)<br \/>\nplot(t, P, &#039;b-&#039;, &#039;LineWidth&#039;, 2)<br \/>\nhold on<br \/>\nplot(t, P_analytic, &#039;r&#8211;&#039;, &#039;LineWidth&#039;, 1.5)<br \/>\nxlabel(&#039;\u65f6\u95f4 (\u5e74)&#039;, &#039;FontSize&#039;, 12)<br \/>\nylabel(&#039;\u4eba\u53e3 (\u767e\u4e07)&#039;, &#039;FontSize&#039;, 12)<br \/>\ntitle(&#039;Logistic\u4eba\u53e3\u589e\u957f&#039;, &#039;FontSize&#039;, 14)<br \/>\nlegend(&#039;\u6570\u503c\u89e3&#039;, &#039;\u89e3\u6790\u89e3&#039;, &#039;Location&#039;, &#039;southeast&#039;)<br \/>\ngrid on<\/p>\n<p>% \u7ed8\u5236\u76f8\u7ebf<br \/>\nsubplot(1,2,2)<br \/>\nP_range &#061; 0:10:1200;<br \/>\ndP_dt &#061; r * P_range .* (1 &#8211; P_range\/K);<br \/>\nplot(P_range, dP_dt, &#039;k-&#039;, &#039;LineWidth&#039;, 2)<br \/>\nhold on<br \/>\nplot([0 K], [0 0], &#039;k&#8211;&#039;)<br \/>\nplot(P0, 0, &#039;ro&#039;, &#039;MarkerSize&#039;, 10, &#039;MarkerFaceColor&#039;, &#039;r&#039;)<br \/>\nxlabel(&#039;\u4eba\u53e3 P&#039;, &#039;FontSize&#039;, 12)<br \/>\nylabel(&#039;\u53d8\u5316\u7387 dP\/dt&#039;, &#039;FontSize&#039;, 12)<br \/>\ntitle(&#039;\u76f8\u7ebf\u56fe&#039;, &#039;FontSize&#039;, 14)<br \/>\ngrid on <\/p>\n<h5>4.2.2 SIR\u4f20\u67d3\u75c5\u6a21\u578b<\/h5>\n<p>matlab<\/p>\n<p>function sir_model_example<br \/>\n    % SIR\u6a21\u578b\u53c2\u6570<br \/>\n    beta &#061; 0.3;     % \u611f\u67d3\u7387<br \/>\n    gamma &#061; 0.1;    % \u6062\u590d\u7387<br \/>\n    N &#061; 1000;       % \u603b\u4eba\u53e3<\/p>\n<p>    % \u521d\u59cb\u6761\u4ef6<br \/>\n    I0 &#061; 1;         % \u521d\u59cb\u611f\u67d3\u8005<br \/>\n    R0 &#061; 0;         % \u521d\u59cb\u5eb7\u590d\u8005<br \/>\n    S0 &#061; N &#8211; I0 &#8211; R0; % \u521d\u59cb\u6613\u611f\u8005<\/p>\n<p>    % \u65f6\u95f4\u8303\u56f4<br \/>\n    tspan &#061; [0 100];<br \/>\n    y0 &#061; [S0; I0; R0];<\/p>\n<p>    % \u5b9a\u4e49SIR\u65b9\u7a0b<br \/>\n    function dydt &#061; sir_equations(t, y)<br \/>\n        S &#061; y(1);<br \/>\n        I &#061; y(2);<br \/>\n        R &#061; y(3);<\/p>\n<p>        dS_dt &#061; -beta * S * I \/ N;<br \/>\n        dI_dt &#061; beta * S * I \/ N &#8211; gamma * I;<br \/>\n        dR_dt &#061; gamma * I;<\/p>\n<p>        dydt &#061; [dS_dt; dI_dt; dR_dt];<br \/>\n    end<\/p>\n<p>    % \u6570\u503c\u6c42\u89e3<br \/>\n    [t, y] &#061; ode45(&#064;sir_equations, tspan, y0);<\/p>\n<p>    % \u8ba1\u7b97\u57fa\u672c\u518d\u751f\u6570<br \/>\n    R0_value &#061; beta \/ gamma;<\/p>\n<p>    % \u7ed8\u56fe<br \/>\n    figure(&#039;Position&#039;, [100, 100, 1200, 500])<\/p>\n<p>    % \u65f6\u95f4\u5e8f\u5217\u56fe<br \/>\n    subplot(1,2,1)<br \/>\n    plot(t, y(:,1), &#039;b-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    hold on<br \/>\n    plot(t, y(:,2), &#039;r-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    plot(t, y(:,3), &#039;g-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;, &#039;FontSize&#039;, 12)<br \/>\n    ylabel(&#039;\u4eba\u53e3\u6570&#039;, &#039;FontSize&#039;, 12)<br \/>\n    title([&#039;SIR\u6a21\u578b (R_0 &#061; &#039;, num2str(R0_value, &#039;%.2f&#039;), &#039;)&#039;], &#039;FontSize&#039;, 14)<br \/>\n    legend(&#039;\u6613\u611f\u8005S&#039;, &#039;\u611f\u67d3\u8005I&#039;, &#039;\u5eb7\u590d\u8005R&#039;, &#039;Location&#039;, &#039;best&#039;)<br \/>\n    grid on<\/p>\n<p>    % \u76f8\u5e73\u9762\u56fe (S-I\u5e73\u9762)<br \/>\n    subplot(1,2,2)<br \/>\n    plot(y(:,1), y(:,2), &#039;k-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    hold on<br \/>\n    scatter(S0, I0, 100, &#039;ro&#039;, &#039;filled&#039;)<br \/>\n    scatter(y(end,1), y(end,2), 100, &#039;gs&#039;, &#039;filled&#039;)<\/p>\n<p>    % \u7ed8\u5236\u96f6\u503e\u7ebf<br \/>\n    S_range &#061; linspace(0, N, 100);<br \/>\n    I_nullcline &#061; max(0, S_range &#8211; gamma\/beta * N);<br \/>\n    plot(S_range, I_nullcline, &#039;r&#8211;&#039;, &#039;LineWidth&#039;, 1.5)<\/p>\n<p>    xlabel(&#039;\u6613\u611f\u8005 S&#039;, &#039;FontSize&#039;, 12)<br \/>\n    ylabel(&#039;\u611f\u67d3\u8005 I&#039;, &#039;FontSize&#039;, 12)<br \/>\n    title(&#039;SIR\u6a21\u578b\u76f8\u5e73\u9762&#039;, &#039;FontSize&#039;, 14)<br \/>\n    legend(&#039;\u8f68\u8ff9&#039;, &#039;\u8d77\u70b9&#039;, &#039;\u7ec8\u70b9&#039;, &#039;I\u96f6\u503e\u7ebf&#039;, &#039;Location&#039;, &#039;best&#039;)<br \/>\n    grid on<br \/>\n    xlim([0 N])<br \/>\n    ylim([0 max(y(:,2))*1.1])<\/p>\n<p>    % \u8f93\u51fa\u5173\u952e\u7ed3\u679c<br \/>\n    fprintf(&#039;\u57fa\u672c\u518d\u751f\u6570 R0 &#061; %.2f\\\\n&#039;, R0_value);<br \/>\n    fprintf(&#039;\u6700\u7ec8\u6613\u611f\u8005\u6bd4\u4f8b: %.2f%%\\\\n&#039;, y(end,1)\/N*100);<br \/>\n    fprintf(&#039;\u5cf0\u503c\u611f\u67d3\u4eba\u6570: %.0f (\u53d1\u751f\u5728\u7b2c%.1f\u5929)\\\\n&#039;, max(y(:,2)), t(find(y(:,2)&#061;&#061;max(y(:,2)),1)));<br \/>\nend <\/p>\n<h5>4.2.3 \u5e26\u63a7\u5236\u7684SEIR\u6a21\u578b<\/h5>\n<p>matlab<\/p>\n<p>function controlled_seir_model<br \/>\n    % SEIR\u6a21\u578b\u53c2\u6570 (\u4ee5COVID-19\u4e3a\u4f8b)<br \/>\n    beta0 &#061; 0.35;       % \u57fa\u7840\u611f\u67d3\u7387<br \/>\n    sigma &#061; 1\/5.2;      % \u6f5c\u4f0f\u671f\u5230\u53d1\u75c5\u7684\u8f6c\u79fb\u7387 (\u6f5c\u4f0f\u671f5.2\u5929)<br \/>\n    gamma &#061; 1\/14;       % \u6062\u590d\u7387 (\u611f\u67d3\u671f14\u5929)<br \/>\n    N &#061; 10e6;           % \u603b\u4eba\u53e3<\/p>\n<p>    % \u63a7\u5236\u53c2\u6570<br \/>\n    intervention_day &#061; 30;   % \u5e72\u9884\u5f00\u59cb\u65f6\u95f4<br \/>\n    effectiveness &#061; 0.6;     % \u5e72\u9884\u6548\u679c (\u964d\u4f4e\u63a5\u89e6\u738760%)<\/p>\n<p>    % \u521d\u59cb\u6761\u4ef6<br \/>\n    E0 &#061; 100;           % \u521d\u59cb\u6f5c\u4f0f\u8005<br \/>\n    I0 &#061; 50;            % \u521d\u59cb\u611f\u67d3\u8005<br \/>\n    R0 &#061; 0;             % \u521d\u59cb\u5eb7\u590d\u8005<br \/>\n    S0 &#061; N &#8211; E0 &#8211; I0 &#8211; R0;<\/p>\n<p>    tspan &#061; [0 200];<br \/>\n    y0 &#061; [S0; E0; I0; R0];<\/p>\n<p>    % \u5b9a\u4e49\u65f6\u53d8\u611f\u67d3\u7387\u51fd\u6570<br \/>\n    function beta_t &#061; time_varying_beta(t)<br \/>\n        if t &lt; intervention_day<br \/>\n            beta_t &#061; beta0;<br \/>\n        else<br \/>\n            beta_t &#061; beta0 * (1 &#8211; effectiveness);<br \/>\n        end<br \/>\n    end<\/p>\n<p>    % \u5b9a\u4e49SEIR\u65b9\u7a0b<br \/>\n    function dydt &#061; seir_equations(t, y)<br \/>\n        S &#061; y(1);<br \/>\n        E &#061; y(2);<br \/>\n        I &#061; y(3);<br \/>\n        R &#061; y(4);<\/p>\n<p>        beta &#061; time_varying_beta(t);<\/p>\n<p>        dS_dt &#061; -beta * S * I \/ N;<br \/>\n        dE_dt &#061; beta * S * I \/ N &#8211; sigma * E;<br \/>\n        dI_dt &#061; sigma * E &#8211; gamma * I;<br \/>\n        dR_dt &#061; gamma * I;<\/p>\n<p>        dydt &#061; [dS_dt; dE_dt; dI_dt; dR_dt];<br \/>\n    end<\/p>\n<p>    % \u6570\u503c\u6c42\u89e3<br \/>\n    [t, y] &#061; ode45(&#064;seir_equations, tspan, y0);<\/p>\n<p>    % \u7ed8\u56fe<br \/>\n    figure(&#039;Position&#039;, [100, 100, 1400, 500])<\/p>\n<p>    % \u65f6\u95f4\u5e8f\u5217\u56fe<br \/>\n    subplot(1,3,1)<br \/>\n    plot(t, y(:,1), &#039;b-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    hold on<br \/>\n    plot(t, y(:,2), &#039;m-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    plot(t, y(:,3), &#039;r-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    plot(t, y(:,4), &#039;g-&#039;, &#039;LineWidth&#039;, 2)<\/p>\n<p>    % \u6807\u8bb0\u5e72\u9884\u65f6\u95f4<br \/>\n    xline(intervention_day, &#039;k&#8211;&#039;, &#039;LineWidth&#039;, 1.5, &#039;Label&#039;, &#039;\u5e72\u9884\u5f00\u59cb&#039;)<\/p>\n<p>    xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;, &#039;FontSize&#039;, 12)<br \/>\n    ylabel(&#039;\u4eba\u53e3\u6570&#039;, &#039;FontSize&#039;, 12)<br \/>\n    title(&#039;\u5e26\u63a7\u5236\u7684SEIR\u6a21\u578b&#039;, &#039;FontSize&#039;, 14)<br \/>\n    legend(&#039;\u6613\u611f\u8005S&#039;, &#039;\u6f5c\u4f0f\u8005E&#039;, &#039;\u611f\u67d3\u8005I&#039;, &#039;\u5eb7\u590d\u8005R&#039;, &#039;Location&#039;, &#039;best&#039;)<br \/>\n    grid on<\/p>\n<p>    % \u65b0\u589e\u611f\u67d3\u548c\u65b0\u589e\u5eb7\u590d<br \/>\n    subplot(1,3,2)<\/p>\n<p>    % \u8ba1\u7b97\u6bcf\u65e5\u65b0\u589e\u611f\u67d3 (\u4eceE\u5230I)<br \/>\n    new_infections &#061; sigma * y(:,2);<br \/>\n    % \u8ba1\u7b97\u6bcf\u65e5\u65b0\u589e\u5eb7\u590d (\u4eceI\u5230R)<br \/>\n    new_recoveries &#061; gamma * y(:,3);<\/p>\n<p>    plot(t, new_infections, &#039;r-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    hold on<br \/>\n    plot(t, new_recoveries, &#039;g-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    xline(intervention_day, &#039;k&#8211;&#039;, &#039;LineWidth&#039;, 1.5)<\/p>\n<p>    xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;, &#039;FontSize&#039;, 12)<br \/>\n    ylabel(&#039;\u6bcf\u65e5\u65b0\u589e\u4eba\u6570&#039;, &#039;FontSize&#039;, 12)<br \/>\n    title(&#039;\u6bcf\u65e5\u65b0\u589e\u611f\u67d3\u4e0e\u5eb7\u590d&#039;, &#039;FontSize&#039;, 14)<br \/>\n    legend(&#039;\u65b0\u589e\u611f\u67d3&#039;, &#039;\u65b0\u589e\u5eb7\u590d&#039;, &#039;Location&#039;, &#039;best&#039;)<br \/>\n    grid on<\/p>\n<p>    % \u533b\u7597\u8d44\u6e90\u9700\u6c42\u4f30\u7b97<br \/>\n    subplot(1,3,3)<\/p>\n<p>    % \u5047\u8bbe\u9700\u8981\u4f4f\u9662\u7684\u6bd4\u4f8b\u548c\u5e73\u5747\u4f4f\u9662\u65f6\u95f4<br \/>\n    hospitalization_rate &#061; 0.15;      % 15%\u611f\u67d3\u8005\u9700\u8981\u4f4f\u9662<br \/>\n    avg_hospital_stay &#061; 10;           % \u5e73\u5747\u4f4f\u966210\u5929<\/p>\n<p>    % \u4f30\u7b97\u6bcf\u65e5\u4f4f\u9662\u4eba\u6570 (\u7b80\u5316\u4f30\u7b97)<br \/>\n    daily_hospital &#061; hospitalization_rate * y(:,3);<\/p>\n<p>    % \u4f30\u7b97\u7d2f\u8ba1\u4f4f\u9662\u4eba\u6570<br \/>\n    cumulative_hospital &#061; zeros(size(t));<br \/>\n    for i &#061; 2:length(t)<br \/>\n        dt &#061; t(i) &#8211; t(i-1);<br \/>\n        % \u65b0\u589e\u4f4f\u9662\u4eba\u6570<br \/>\n        new_hospital &#061; hospitalization_rate * (y(i,3) &#8211; y(i-1,3) &#043; gamma * y(i,3) * dt);<br \/>\n        % \u51fa\u9662\u4eba\u6570 (\u5047\u8bbe\u6307\u6570\u8870\u51cf)<br \/>\n        discharge &#061; cumulative_hospital(i-1) * dt \/ avg_hospital_stay;<\/p>\n<p>        cumulative_hospital(i) &#061; max(0, cumulative_hospital(i-1) &#043; new_hospital &#8211; discharge);<br \/>\n    end<\/p>\n<p>    plot(t, daily_hospital, &#039;b-&#039;, &#039;LineWidth&#039;, 2)<br \/>\n    hold on<br \/>\n    plot(t, cumulative_hospital, &#039;r-&#039;, &#039;LineWidth&#039;, 2)<\/p>\n<p>    % \u5047\u8bbe\u533b\u7597\u8d44\u6e90\u4e0a\u9650<br \/>\n    hospital_capacity &#061; 5000;<br \/>\n    yline(hospital_capacity, &#039;k&#8211;&#039;, &#039;LineWidth&#039;, 2, &#039;Label&#039;, &#039;\u533b\u7597\u8d44\u6e90\u4e0a\u9650&#039;)<br \/>\n    xline(intervention_day, &#039;k&#8211;&#039;, &#039;LineWidth&#039;, 1.5)<\/p>\n<p>    xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;, &#039;FontSize&#039;, 12)<br \/>\n    ylabel(&#039;\u4f4f\u9662\u4eba\u6570&#039;, &#039;FontSize&#039;, 12)<br \/>\n    title(&#039;\u533b\u7597\u8d44\u6e90\u9700\u6c42\u9884\u6d4b&#039;, &#039;FontSize&#039;, 14)<br \/>\n    legend(&#039;\u6bcf\u65e5\u65b0\u589e\u4f4f\u9662&#039;, &#039;\u7d2f\u8ba1\u4f4f\u9662\u4eba\u6570&#039;, &#039;Location&#039;, &#039;best&#039;)<br \/>\n    grid on<\/p>\n<p>    % \u8f93\u51fa\u5173\u952e\u7ed3\u679c<br \/>\n    fprintf(&#039;\u5e72\u9884\u524dR0: %.2f\\\\n&#039;, beta0\/gamma);<br \/>\n    fprintf(&#039;\u5e72\u9884\u540e\u6709\u6548R0: %.2f\\\\n&#039;, beta0*(1-effectiveness)\/gamma);<br \/>\n    fprintf(&#039;\u7d2f\u8ba1\u611f\u67d3\u5cf0\u503c: %.0f\\\\n&#039;, max(y(:,3)));<br \/>\n    fprintf(&#039;\u533b\u7597\u8d44\u6e90\u5cf0\u503c\u9700\u6c42: %.0f (\u53d1\u751f\u5728\u7b2c%.1f\u5929)\\\\n&#039;, max(cumulative_hospital), t(find(cumulative_hospital&#061;&#061;max(cumulative_hospital),1)));<br \/>\n    if max(cumulative_hospital) &gt; hospital_capacity<br \/>\n        fprintf(&#039;\u8b66\u544a: \u533b\u7597\u8d44\u6e90\u9700\u6c42\u8d85\u8fc7\u627f\u8f7d\u80fd\u529b!\\\\n&#039;);<br \/>\n    end<br \/>\nend <\/p>\n<h4>4.3 Python\u4ee3\u7801\u793a\u4f8b<\/h4>\n<h5>4.3.1 SIR\u6a21\u578b\u4e0e\u53c2\u6570\u62df\u5408<\/h5>\n<p>python<\/p>\n<p>import numpy as np<br \/>\nimport matplotlib.pyplot as plt<br \/>\nfrom scipy.integrate import solve_ivp<br \/>\nfrom scipy.optimize import curve_fit<br \/>\nimport pandas as pd<\/p>\n<p>class SIRModel:<br \/>\n    def __init__(self, beta, gamma, N):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u521d\u59cb\u5316SIR\u6a21\u578b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        beta: \u611f\u67d3\u7387<br \/>\n        gamma: \u6062\u590d\u7387<br \/>\n        N: \u603b\u4eba\u53e3<br \/>\n        &#034;&#034;&#034;<br \/>\n        self.beta &#061; beta<br \/>\n        self.gamma &#061; gamma<br \/>\n        self.N &#061; N<br \/>\n        self.R0 &#061; beta \/ gamma<\/p>\n<p>    def equations(self, t, y):<br \/>\n        &#034;&#034;&#034;<br \/>\n        SIR\u6a21\u578b\u5fae\u5206\u65b9\u7a0b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        t: \u65f6\u95f4<br \/>\n        y: \u72b6\u6001\u53d8\u91cf [S, I, R]<\/p>\n<p>        \u8fd4\u56de:<br \/>\n        dydt: \u5bfc\u6570\u5411\u91cf<br \/>\n        &#034;&#034;&#034;<br \/>\n        S, I, R &#061; y<br \/>\n        dS_dt &#061; -self.beta * S * I \/ self.N<br \/>\n        dI_dt &#061; self.beta * S * I \/ self.N &#8211; self.gamma * I<br \/>\n        dR_dt &#061; self.gamma * I<br \/>\n        return [dS_dt, dI_dt, dR_dt]<\/p>\n<p>    def simulate(self, S0, I0, R0, t_span, t_eval&#061;None):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u6a21\u62dfSIR\u6a21\u578b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        S0: \u521d\u59cb\u6613\u611f\u8005<br \/>\n        I0: \u521d\u59cb\u611f\u67d3\u8005<br \/>\n        R0: \u521d\u59cb\u5eb7\u590d\u8005<br \/>\n        t_span: \u65f6\u95f4\u8303\u56f4 [t_start, t_end]<br \/>\n        t_eval: \u8f93\u51fa\u65f6\u95f4\u70b9<\/p>\n<p>        \u8fd4\u56de:<br \/>\n        t: \u65f6\u95f4\u6570\u7ec4<br \/>\n        y: \u72b6\u6001\u77e9\u9635<br \/>\n        &#034;&#034;&#034;<br \/>\n        y0 &#061; [S0, I0, R0]<\/p>\n<p>        sol &#061; solve_ivp(<br \/>\n            self.equations,<br \/>\n            t_span,<br \/>\n            y0,<br \/>\n            method&#061;&#039;RK45&#039;,<br \/>\n            t_eval&#061;t_eval,<br \/>\n            dense_output&#061;True<br \/>\n        )<\/p>\n<p>        return sol.t, sol.y<\/p>\n<p>    def fit_to_data(self, time_data, I_data, S0&#061;None, I0&#061;None, R0&#061;None):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u4f7f\u7528\u5b9e\u9645\u6570\u636e\u62df\u5408SIR\u6a21\u578b\u53c2\u6570<\/p>\n<p>        \u53c2\u6570:<br \/>\n        time_data: \u65f6\u95f4\u6570\u636e<br \/>\n        I_data: \u611f\u67d3\u8005\u6570\u636e<br \/>\n        S0, I0, R0: \u521d\u59cb\u6761\u4ef6 (\u5982\u679c\u4e3aNone\u5219\u4ece\u6570\u636e\u4f30\u8ba1)<\/p>\n<p>        \u8fd4\u56de:<br \/>\n        popt: \u6700\u4f18\u53c2\u6570 [beta, gamma]<br \/>\n        &#034;&#034;&#034;<br \/>\n        if I0 is None:<br \/>\n            I0 &#061; I_data[0]<br \/>\n        if S0 is None:<br \/>\n            S0 &#061; self.N &#8211; I0<br \/>\n        if R0 is None:<br \/>\n            R0 &#061; 0<\/p>\n<p>        def model_function(t, beta, gamma):<br \/>\n            &#034;&#034;&#034;\u7528\u4e8e\u62df\u5408\u7684\u6a21\u578b\u51fd\u6570&#034;&#034;&#034;<br \/>\n            self.beta &#061; beta<br \/>\n            self.gamma &#061; gamma<br \/>\n            _, y &#061; self.simulate(S0, I0, R0, [min(time_data), max(time_data)], t_eval&#061;t)<br \/>\n            return y[1]  # \u8fd4\u56de\u611f\u67d3\u8005I<\/p>\n<p>        # \u521d\u59cb\u53c2\u6570\u731c\u6d4b<br \/>\n        p0 &#061; [0.3, 0.1]<\/p>\n<p>        # \u53c2\u6570\u8fb9\u754c<br \/>\n        bounds &#061; ([0, 0], [10, 10])<\/p>\n<p>        # \u62df\u5408\u53c2\u6570<br \/>\n        popt, pcov &#061; curve_fit(<br \/>\n            model_function,<br \/>\n            time_data,<br \/>\n            I_data,<br \/>\n            p0&#061;p0,<br \/>\n            bounds&#061;bounds,<br \/>\n            maxfev&#061;5000<br \/>\n        )<\/p>\n<p>        # \u66f4\u65b0\u6a21\u578b\u53c2\u6570<br \/>\n        self.beta, self.gamma &#061; popt<br \/>\n        self.R0 &#061; self.beta \/ self.gamma<\/p>\n<p>        return popt, pcov<\/p>\n<p>    def plot_results(self, t, y, title&#061;&#034;SIR\u6a21\u578b\u6a21\u62df\u7ed3\u679c&#034;):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u7ed8\u5236SIR\u6a21\u578b\u7ed3\u679c<\/p>\n<p>        \u53c2\u6570:<br \/>\n        t: \u65f6\u95f4\u6570\u7ec4<br \/>\n        y: \u72b6\u6001\u77e9\u9635<br \/>\n        title: \u56fe\u8868\u6807\u9898<br \/>\n        &#034;&#034;&#034;<br \/>\n        fig, axes &#061; plt.subplots(1, 3, figsize&#061;(15, 4))<\/p>\n<p>        # \u65f6\u95f4\u5e8f\u5217\u56fe<br \/>\n        axes[0].plot(t, y[0], &#039;b-&#039;, label&#061;&#039;\u6613\u611f\u8005S&#039;, linewidth&#061;2)<br \/>\n        axes[0].plot(t, y[1], &#039;r-&#039;, label&#061;&#039;\u611f\u67d3\u8005I&#039;, linewidth&#061;2)<br \/>\n        axes[0].plot(t, y[2], &#039;g-&#039;, label&#061;&#039;\u5eb7\u590d\u8005R&#039;, linewidth&#061;2)<br \/>\n        axes[0].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n        axes[0].set_ylabel(&#039;\u4eba\u53e3\u6570&#039;)<br \/>\n        axes[0].set_title(f&#039;{title}\\\\nR0 &#061; {self.R0:.2f}&#039;)<br \/>\n        axes[0].legend()<br \/>\n        axes[0].grid(True, alpha&#061;0.3)<\/p>\n<p>        # \u76f8\u5e73\u9762\u56fe<br \/>\n        axes[1].plot(y[0], y[1], &#039;k-&#039;, linewidth&#061;2)<br \/>\n        axes[1].scatter(y[0,0], y[1,0], color&#061;&#039;red&#039;, s&#061;100, zorder&#061;5, label&#061;&#039;\u8d77\u70b9&#039;)<br \/>\n        axes[1].scatter(y[0,-1], y[1,-1], color&#061;&#039;green&#039;, s&#061;100, zorder&#061;5, label&#061;&#039;\u7ec8\u70b9&#039;)<br \/>\n        axes[1].set_xlabel(&#039;\u6613\u611f\u8005 S&#039;)<br \/>\n        axes[1].set_ylabel(&#039;\u611f\u67d3\u8005 I&#039;)<br \/>\n        axes[1].set_title(&#039;\u76f8\u5e73\u9762\u56fe (S-I\u5e73\u9762)&#039;)<br \/>\n        axes[1].legend()<br \/>\n        axes[1].grid(True, alpha&#061;0.3)<\/p>\n<p>        # \u65b0\u589e\u611f\u67d3\u56fe<br \/>\n        new_infections &#061; -np.diff(y[0])  # -dS\/dt\u8fd1\u4f3c\u65b0\u589e\u611f\u67d3<br \/>\n        axes[2].plot(t[1:], new_infections, &#039;r-&#039;, linewidth&#061;2)<br \/>\n        axes[2].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n        axes[2].set_ylabel(&#039;\u6bcf\u65e5\u65b0\u589e\u611f\u67d3&#039;)<br \/>\n        axes[2].set_title(&#039;\u6bcf\u65e5\u65b0\u589e\u611f\u67d3&#039;)<br \/>\n        axes[2].grid(True, alpha&#061;0.3)<\/p>\n<p>        plt.tight_layout()<br \/>\n        plt.show()<\/p>\n<p>        # \u8f93\u51fa\u5173\u952e\u6307\u6807<br \/>\n        print(f&#034;\u57fa\u672c\u518d\u751f\u6570 R0 &#061; {self.R0:.2f}&#034;)<br \/>\n        print(f&#034;\u611f\u67d3\u5cf0\u503c &#061; {np.max(y[1]):.0f}&#034;)<br \/>\n        print(f&#034;\u6700\u7ec8\u611f\u67d3\u6bd4\u4f8b &#061; {y[1,-1]\/self.N*100:.1f}%&#034;)<br \/>\n        print(f&#034;\u6700\u7ec8\u6613\u611f\u8005\u6bd4\u4f8b &#061; {y[0,-1]\/self.N*100:.1f}%&#034;)<\/p>\n<p># \u4f7f\u7528\u793a\u4f8b<br \/>\nif __name__ &#061;&#061; &#034;__main__&#034;:<br \/>\n    # \u521b\u5efaSIR\u6a21\u578b\u5b9e\u4f8b<br \/>\n    N &#061; 1000  # \u603b\u4eba\u53e3<br \/>\n    sir &#061; SIRModel(beta&#061;0.3, gamma&#061;0.1, N&#061;N)<\/p>\n<p>    # \u6a21\u62df\u53c2\u6570<br \/>\n    S0 &#061; N &#8211; 1<br \/>\n    I0 &#061; 1<br \/>\n    R0 &#061; 0<br \/>\n    t_span &#061; [0, 100]<br \/>\n    t_eval &#061; np.linspace(0, 100, 200)<\/p>\n<p>    # \u8fd0\u884c\u6a21\u62df<br \/>\n    t, y &#061; sir.simulate(S0, I0, R0, t_span, t_eval)<\/p>\n<p>    # \u7ed8\u5236\u7ed3\u679c<br \/>\n    sir.plot_results(t, y)<\/p>\n<p>    # \u53c2\u6570\u62df\u5408\u793a\u4f8b&#xff08;\u4f7f\u7528\u6a21\u62df\u6570\u636e\u52a0\u566a\u58f0&#xff09;<br \/>\n    np.random.seed(42)<br \/>\n    I_data_with_noise &#061; y[1] &#043; np.random.normal(0, 5, len(y[1]))<\/p>\n<p>    # \u62df\u5408\u53c2\u6570<br \/>\n    popt, pcov &#061; sir.fit_to_data(t, I_data_with_noise, S0&#061;S0, I0&#061;I0, R0&#061;R0)<\/p>\n<p>    print(f&#034;\\\\n\u62df\u5408\u7ed3\u679c:&#034;)<br \/>\n    print(f&#034;beta &#061; {popt[0]:.4f} \u00b1 {np.sqrt(pcov[0,0]):.4f}&#034;)<br \/>\n    print(f&#034;gamma &#061; {popt[1]:.4f} \u00b1 {np.sqrt(pcov[1,1]):.4f}&#034;)<br \/>\n    print(f&#034;R0 &#061; {popt[0]\/popt[1]:.2f}&#034;) <\/p>\n<h5>4.3.2 \u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b<\/h5>\n<p>python<\/p>\n<p>import numpy as np<br \/>\nimport matplotlib.pyplot as plt<br \/>\nfrom scipy.integrate import odeint<br \/>\nimport seaborn as sns<\/p>\n<p>class AgeStructuredSEIR:<br \/>\n    def __init__(self, age_groups, contact_matrix, beta, sigma, gamma, N):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u521d\u59cb\u5316\u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        age_groups: \u5e74\u9f84\u7ec4\u5217\u8868<br \/>\n        contact_matrix: \u5e74\u9f84\u7ec4\u95f4\u63a5\u89e6\u77e9\u9635<br \/>\n        beta: \u611f\u67d3\u7387\u6807\u91cf\u6216\u5411\u91cf<br \/>\n        sigma: \u6f5c\u4f0f\u671f\u5230\u53d1\u75c5\u7684\u8f6c\u79fb\u7387<br \/>\n        gamma: \u6062\u590d\u7387<br \/>\n        N: \u5404\u5e74\u9f84\u7ec4\u4eba\u53e3\u5411\u91cf<br \/>\n        &#034;&#034;&#034;<br \/>\n        self.age_groups &#061; age_groups<br \/>\n        self.n_age &#061; len(age_groups)<br \/>\n        self.contact_matrix &#061; contact_matrix<br \/>\n        self.beta &#061; beta<br \/>\n        self.sigma &#061; sigma<br \/>\n        self.gamma &#061; gamma<br \/>\n        self.N &#061; N<br \/>\n        self.total_N &#061; np.sum(N)<\/p>\n<p>    def equations(self, y, t):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b\u5fae\u5206\u65b9\u7a0b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        y: \u72b6\u6001\u53d8\u91cf\u5411\u91cf [S1, E1, I1, R1, S2, E2, I2, R2, &#8230;]<br \/>\n        t: \u65f6\u95f4<\/p>\n<p>        \u8fd4\u56de:<br \/>\n        dydt: \u5bfc\u6570\u5411\u91cf<br \/>\n        &#034;&#034;&#034;<br \/>\n        # \u91cd\u5851\u72b6\u6001\u53d8\u91cf<br \/>\n        S &#061; y[0:self.n_age]<br \/>\n        E &#061; y[self.n_age:2*self.n_age]<br \/>\n        I &#061; y[2*self.n_age:3*self.n_age]<br \/>\n        R &#061; y[3*self.n_age:4*self.n_age]<\/p>\n<p>        # \u8ba1\u7b97\u5404\u5e74\u9f84\u7ec4\u7684\u603b\u611f\u67d3\u538b\u529b<br \/>\n        if np.isscalar(self.beta):<br \/>\n            beta_matrix &#061; self.beta * self.contact_matrix<br \/>\n        else:<br \/>\n            # beta\u4e3a\u5411\u91cf\u65f6&#xff0c;\u8003\u8651\u5e74\u9f84\u7279\u5f02\u6027\u611f\u67d3\u7387<br \/>\n            beta_matrix &#061; np.diag(self.beta) &#064; self.contact_matrix<\/p>\n<p>        # \u8ba1\u7b97\u5404\u5e74\u9f84\u7ec4\u7684\u611f\u67d3\u529b<br \/>\n        force_of_infection &#061; beta_matrix &#064; (I \/ self.N)<\/p>\n<p>        # \u8ba1\u7b97\u5bfc\u6570<br \/>\n        dS_dt &#061; -S * force_of_infection<br \/>\n        dE_dt &#061; S * force_of_infection &#8211; self.sigma * E<br \/>\n        dI_dt &#061; self.sigma * E &#8211; self.gamma * I<br \/>\n        dR_dt &#061; self.gamma * I<\/p>\n<p>        # \u5408\u5e76\u5bfc\u6570<br \/>\n        dydt &#061; np.concatenate([dS_dt, dE_dt, dI_dt, dR_dt])<\/p>\n<p>        return dydt<\/p>\n<p>    def simulate(self, S0, E0, I0, R0, t):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u6a21\u62df\u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b<\/p>\n<p>        \u53c2\u6570:<br \/>\n        S0, E0, I0, R0: \u5404\u5e74\u9f84\u7ec4\u521d\u59cb\u6761\u4ef6<br \/>\n        t: \u65f6\u95f4\u6570\u7ec4<\/p>\n<p>        \u8fd4\u56de:<br \/>\n        y: \u72b6\u6001\u77e9\u9635<br \/>\n        &#034;&#034;&#034;<br \/>\n        # \u5408\u5e76\u521d\u59cb\u6761\u4ef6<br \/>\n        y0 &#061; np.concatenate([S0, E0, I0, R0])<\/p>\n<p>        # \u6c42\u89e3ODE<br \/>\n        y &#061; odeint(self.equations, y0, t)<\/p>\n<p>        return y<\/p>\n<p>    def calculate_R0(self):<br \/>\n        &#034;&#034;&#034;\u8ba1\u7b97\u5e74\u9f84\u7ed3\u6784\u6a21\u578b\u7684\u57fa\u672c\u518d\u751f\u6570R0&#034;&#034;&#034;<br \/>\n        # \u4e0b\u4e00\u4ee3\u77e9\u9635\u65b9\u6cd5<br \/>\n        if np.isscalar(self.beta):<br \/>\n            beta_matrix &#061; self.beta * self.contact_matrix<br \/>\n        else:<br \/>\n            beta_matrix &#061; np.diag(self.beta) &#064; self.contact_matrix<\/p>\n<p>        # \u6784\u9020\u4e0b\u4e00\u4ee3\u77e9\u9635<br \/>\n        F &#061; beta_matrix \/ self.gamma<br \/>\n        V &#061; np.diag(self.N)  # \u8003\u8651\u5e74\u9f84\u7ec4\u4eba\u53e3\u5dee\u5f02<\/p>\n<p>        G &#061; F &#064; np.linalg.inv(V)<\/p>\n<p>        # \u8ba1\u7b97\u8c31\u534a\u5f84\u4f5c\u4e3aR0<br \/>\n        eigenvalues &#061; np.linalg.eigvals(G)<br \/>\n        R0 &#061; np.max(np.abs(eigenvalues))<\/p>\n<p>        return R0<\/p>\n<p>    def plot_results(self, t, y, title&#061;&#034;\u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b&#034;):<br \/>\n        &#034;&#034;&#034;<br \/>\n        \u7ed8\u5236\u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b\u7ed3\u679c<\/p>\n<p>        \u53c2\u6570:<br \/>\n        t: \u65f6\u95f4\u6570\u7ec4<br \/>\n        y: \u72b6\u6001\u77e9\u9635<br \/>\n        title: \u56fe\u8868\u6807\u9898<br \/>\n        &#034;&#034;&#034;<br \/>\n        # \u63d0\u53d6\u5404\u72b6\u6001\u53d8\u91cf<br \/>\n        S &#061; y[:, 0:self.n_age]<br \/>\n        E &#061; y[:, self.n_age:2*self.n_age]<br \/>\n        I &#061; y[:, 2*self.n_age:3*self.n_age]<br \/>\n        R &#061; y[:, 3*self.n_age:4*self.n_age]<\/p>\n<p>        # \u8ba1\u7b97\u603b\u548c<br \/>\n        S_total &#061; np.sum(S, axis&#061;1)<br \/>\n        E_total &#061; np.sum(E, axis&#061;1)<br \/>\n        I_total &#061; np.sum(I, axis&#061;1)<br \/>\n        R_total &#061; np.sum(R, axis&#061;1)<\/p>\n<p>        fig, axes &#061; plt.subplots(2, 3, figsize&#061;(15, 10))<\/p>\n<p>        # \u603b\u4eba\u53e3\u65f6\u95f4\u5e8f\u5217<br \/>\n        axes[0, 0].plot(t, S_total, &#039;b-&#039;, label&#061;&#039;\u6613\u611f\u8005&#039;, linewidth&#061;2)<br \/>\n        axes[0, 0].plot(t, E_total, &#039;m-&#039;, label&#061;&#039;\u6f5c\u4f0f\u8005&#039;, linewidth&#061;2)<br \/>\n        axes[0, 0].plot(t, I_total, &#039;r-&#039;, label&#061;&#039;\u611f\u67d3\u8005&#039;, linewidth&#061;2)<br \/>\n        axes[0, 0].plot(t, R_total, &#039;g-&#039;, label&#061;&#039;\u5eb7\u590d\u8005&#039;, linewidth&#061;2)<br \/>\n        axes[0, 0].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n        axes[0, 0].set_ylabel(&#039;\u4eba\u53e3\u6570&#039;)<br \/>\n        axes[0, 0].set_title(&#039;\u603b\u4eba\u53e3\u52a8\u6001&#039;)<br \/>\n        axes[0, 0].legend()<br \/>\n        axes[0, 0].grid(True, alpha&#061;0.3)<\/p>\n<p>        # \u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u8005\u65f6\u95f4\u5e8f\u5217<br \/>\n        for i in range(self.n_age):<br \/>\n            axes[0, 1].plot(t, I[:, i], label&#061;f&#039;\u5e74\u9f84\u7ec4 {self.age_groups[i]}&#039;, linewidth&#061;2)<br \/>\n        axes[0, 1].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n        axes[0, 1].set_ylabel(&#039;\u611f\u67d3\u8005\u6570&#039;)<br \/>\n        axes[0, 1].set_title(&#039;\u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u8005\u52a8\u6001&#039;)<br \/>\n        axes[0, 1].legend()<br \/>\n        axes[0, 1].grid(True, alpha&#061;0.3)<\/p>\n<p>        # \u5404\u5e74\u9f84\u7ec4\u6700\u7ec8\u611f\u67d3\u6bd4\u4f8b<br \/>\n        final_infected_ratio &#061; np.sum(I &#043; R, axis&#061;0) \/ self.N<br \/>\n        axes[0, 2].bar(range(self.n_age), final_infected_ratio * 100)<br \/>\n        axes[0, 2].set_xlabel(&#039;\u5e74\u9f84\u7ec4&#039;)<br \/>\n        axes[0, 2].set_ylabel(&#039;\u6700\u7ec8\u611f\u67d3\u6bd4\u4f8b (%)&#039;)<br \/>\n        axes[0, 2].set_title(&#039;\u5404\u5e74\u9f84\u7ec4\u6700\u7ec8\u611f\u67d3\u6bd4\u4f8b&#039;)<br \/>\n        axes[0, 2].set_xticks(range(self.n_age))<br \/>\n        axes[0, 2].set_xticklabels(self.age_groups)<br \/>\n        axes[0, 2].grid(True, alpha&#061;0.3, axis&#061;&#039;y&#039;)<\/p>\n<p>        # \u70ed\u56fe&#xff1a;\u63a5\u89e6\u77e9\u9635<br \/>\n        im &#061; axes[1, 0].imshow(self.contact_matrix, cmap&#061;&#039;YlOrRd&#039;, aspect&#061;&#039;auto&#039;)<br \/>\n        axes[1, 0].set_xlabel(&#039;\u63a5\u89e6\u5e74\u9f84\u7ec4&#039;)<br \/>\n        axes[1, 0].set_ylabel(&#039;\u88ab\u63a5\u89e6\u5e74\u9f84\u7ec4&#039;)<br \/>\n        axes[1, 0].set_title(&#039;\u5e74\u9f84\u63a5\u89e6\u77e9\u9635&#039;)<br \/>\n        plt.colorbar(im, ax&#061;axes[1, 0])<\/p>\n<p>        # \u70ed\u56fe&#xff1a;\u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u8005\u65f6\u95f4\u6f14\u5316<br \/>\n        im &#061; axes[1, 1].imshow(I.T, aspect&#061;&#039;auto&#039;, cmap&#061;&#039;Reds&#039;,<br \/>\n                               extent&#061;[t[0], t[-1], self.n_age-0.5, -0.5])<br \/>\n        axes[1, 1].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n        axes[1, 1].set_ylabel(&#039;\u5e74\u9f84\u7ec4&#039;)<br \/>\n        axes[1, 1].set_title(&#039;\u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u8005\u65f6\u95f4\u6f14\u5316&#039;)<br \/>\n        axes[1, 1].set_yticks(range(self.n_age))<br \/>\n        axes[1, 1].set_yticklabels(self.age_groups)<br \/>\n        plt.colorbar(im, ax&#061;axes[1, 1])<\/p>\n<p>        # \u5404\u5e74\u9f84\u7ec4\u5728\u5cf0\u503c\u65f6\u7684\u8d21\u732e<br \/>\n        peak_time_idx &#061; np.argmax(I_total)<br \/>\n        peak_age_distribution &#061; I[peak_time_idx, :] \/ I_total[peak_time_idx] * 100<br \/>\n        axes[1, 2].pie(peak_age_distribution, labels&#061;self.age_groups, autopct&#061;&#039;%1.1f%%&#039;)<br \/>\n        axes[1, 2].set_title(f&#039;\u5cf0\u503c\u65f6\u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u8005\u6bd4\u4f8b\\\\n(\u7b2c{t[peak_time_idx]:.0f}\u5929)&#039;)<\/p>\n<p>        plt.suptitle(f&#039;{title} &#8211; R0 &#061; {self.calculate_R0():.2f}&#039;, fontsize&#061;16)<br \/>\n        plt.tight_layout()<br \/>\n        plt.show()<\/p>\n<p>        # \u8f93\u51fa\u5173\u952e\u7ed3\u679c<br \/>\n        print(f&#034;\u57fa\u672c\u518d\u751f\u6570 R0 &#061; {self.calculate_R0():.2f}&#034;)<br \/>\n        print(f&#034;\u603b\u611f\u67d3\u5cf0\u503c &#061; {np.max(I_total):.0f}&#034;)<br \/>\n        print(f&#034;\u6700\u7ec8\u603b\u611f\u67d3\u6bd4\u4f8b &#061; {(I_total[-1] &#043; R_total[-1])\/self.total_N*100:.1f}%&#034;)<\/p>\n<p>        # \u5404\u5e74\u9f84\u7ec4\u8be6\u7ec6\u7ed3\u679c<br \/>\n        print(&#034;\\\\n\u5404\u5e74\u9f84\u7ec4\u611f\u67d3\u60c5\u51b5:&#034;)<br \/>\n        for i in range(self.n_age):<br \/>\n            age_infected_ratio &#061; (I[-1, i] &#043; R[-1, i]) \/ self.N[i] * 100<br \/>\n            print(f&#034;  \u5e74\u9f84\u7ec4 {self.age_groups[i]}: \u6700\u7ec8\u611f\u67d3\u6bd4\u4f8b &#061; {age_infected_ratio:.1f}%&#034;)<\/p>\n<p># \u4f7f\u7528\u793a\u4f8b<br \/>\nif __name__ &#061;&#061; &#034;__main__&#034;:<br \/>\n    # \u5b9a\u4e49\u5e74\u9f84\u7ec4<br \/>\n    age_groups &#061; [&#039;0-9&#039;, &#039;10-19&#039;, &#039;20-29&#039;, &#039;30-39&#039;, &#039;40-49&#039;, &#039;50-59&#039;, &#039;60-69&#039;, &#039;70&#043;&#039;]<br \/>\n    n_age &#061; len(age_groups)<\/p>\n<p>    # \u5b9a\u4e49\u4eba\u53e3\u5206\u5e03&#xff08;\u767e\u4e07&#xff09;<br \/>\n    N &#061; np.array([12.0, 11.5, 10.8, 10.2, 9.5, 8.8, 7.2, 5.0])<br \/>\n    total_N &#061; np.sum(N)<\/p>\n<p>    # \u5b9a\u4e49\u63a5\u89e6\u77e9\u9635&#xff08;\u7b80\u5316\u793a\u4f8b&#xff09;<br \/>\n    # \u5bf9\u89d2\u7ebf\u4e0a\u662f\u540c\u5e74\u9f84\u7ec4\u5185\u63a5\u89e6&#xff0c;\u975e\u5bf9\u89d2\u662f\u4e0d\u540c\u5e74\u9f84\u7ec4\u95f4\u63a5\u89e6<br \/>\n    np.random.seed(42)<br \/>\n    contact_matrix &#061; np.zeros((n_age, n_age))<\/p>\n<p>    # \u540c\u5e74\u9f84\u7ec4\u5185\u63a5\u89e6\u8f83\u5f3a<br \/>\n    np.fill_diagonal(contact_matrix, 8)<\/p>\n<p>    # \u76f8\u90bb\u5e74\u9f84\u7ec4\u95f4\u6709\u4e2d\u7b49\u63a5\u89e6<br \/>\n    for i in range(n_age-1):<br \/>\n        contact_matrix[i, i&#043;1] &#061; contact_matrix[i&#043;1, i] &#061; 3<\/p>\n<p>    # \u5bb6\u5ead\u5185\u63a5\u89e6\u6a21\u5f0f&#xff08;\u513f\u7ae5\u4e0e\u6210\u4eba&#xff09;<br \/>\n    contact_matrix[0, 2:5] &#061; [2, 2, 1]<br \/>\n    contact_matrix[2:5, 0] &#061; [2, 2, 1]<\/p>\n<p>    # \u5de5\u4f5c\u573a\u6240\u63a5\u89e6&#xff08;\u6210\u4eba\u4e4b\u95f4&#xff09;<br \/>\n    contact_matrix[2:6, 2:6] &#043;&#061; 4<br \/>\n    np.fill_diagonal(contact_matrix[2:6, 2:6], 8)<\/p>\n<p>    # \u521b\u5efa\u6a21\u578b\u5b9e\u4f8b<br \/>\n    beta &#061; 0.25  # \u611f\u67d3\u7387<br \/>\n    sigma &#061; 1\/5.2  # \u6f5c\u4f0f\u671f5.2\u5929<br \/>\n    gamma &#061; 1\/14   # \u6062\u590d\u671f14\u5929<\/p>\n<p>    model &#061; AgeStructuredSEIR(age_groups, contact_matrix, beta, sigma, gamma, N)<\/p>\n<p>    # \u8bbe\u7f6e\u521d\u59cb\u6761\u4ef6<br \/>\n    # \u5047\u8bbe\u75ab\u60c5\u4ece20-29\u5c81\u5e74\u9f84\u7ec4\u5f00\u59cb<br \/>\n    S0 &#061; N.copy()<br \/>\n    E0 &#061; np.zeros(n_age)<br \/>\n    I0 &#061; np.zeros(n_age)<br \/>\n    R0 &#061; np.zeros(n_age)<\/p>\n<p>    # \u572820-29\u5c81\u5e74\u9f84\u7ec4\u5f15\u5165\u521d\u59cb\u611f\u67d3\u8005<br \/>\n    initial_infected_age_idx &#061; 2  # 20-29\u5c81<br \/>\n    initial_infected &#061; 10<br \/>\n    I0[initial_infected_age_idx] &#061; initial_infected<br \/>\n    S0[initial_infected_age_idx] -&#061; initial_infected<\/p>\n<p>    # \u65f6\u95f4\u6570\u7ec4<br \/>\n    t &#061; np.linspace(0, 180, 181)  # 180\u5929&#xff0c;\u6bcf\u5929\u4e00\u4e2a\u70b9<\/p>\n<p>    # \u8fd0\u884c\u6a21\u62df<br \/>\n    y &#061; model.simulate(S0, E0, I0, R0, t)<\/p>\n<p>    # \u7ed8\u5236\u7ed3\u679c<br \/>\n    model.plot_results(t, y, title&#061;&#034;\u5e74\u9f84\u7ed3\u6784SEIR\u6a21\u578b &#8211; \u4f20\u67d3\u75c5\u4f20\u64ad\u6a21\u62df&#034;) <\/p>\n<hr \/>\n<h3>5. \u4e00\u4e2a\u5b8c\u6574\u7684\u7f8e\u8d5b\u7b80\u5316\u6848\u4f8b<\/h3>\n<h4>5.1 \u95ee\u9898\u63cf\u8ff0&#xff1a;\u5927\u5b66\u6821\u56ed\u4f20\u67d3\u75c5\u4f20\u64ad\u4e0e\u63a7\u5236<\/h4>\n<p>\u80cc\u666f&#xff1a;\u67d0\u5927\u5b66\u6821\u56ed\u670915,000\u540d\u5b66\u751f\u548c\u6559\u804c\u5de5\u30022023\u5e74\u79cb\u5b63\u5b66\u671f&#xff0c;\u4e00\u79cd\u65b0\u578b\u547c\u5438\u9053\u4f20\u67d3\u75c5\u5728\u6821\u56ed\u5185\u5f00\u59cb\u4f20\u64ad\u3002\u6821\u533b\u9662\u8d44\u6e90\u6709\u9650&#xff0c;\u53ea\u6709100\u5f20\u9694\u79bb\u75c5\u5e8a\u53ef\u7528\u4e8e\u4f20\u67d3\u75c5\u60a3\u8005\u3002\u5b66\u6821\u7ba1\u7406\u5c42\u9700\u8981\u5236\u5b9a\u6709\u6548\u7684\u5e72\u9884\u7b56\u7565\u6765\u63a7\u5236\u75ab\u60c5\u4f20\u64ad&#xff0c;\u540c\u65f6\u5c3d\u91cf\u51cf\u5c11\u5bf9\u6b63\u5e38\u6559\u5b66\u6d3b\u52a8\u7684\u5e72\u6270\u3002<\/p>\n<p>\u5177\u4f53\u4efb\u52a1&#xff1a;<\/p>\n<li>\n<p>\u5efa\u7acb\u4f20\u67d3\u75c5\u4f20\u64ad\u6a21\u578b&#xff0c;\u9884\u6d4b\u65e0\u5e72\u9884\u60c5\u51b5\u4e0b\u7684\u75ab\u60c5\u53d1\u5c55\u8d8b\u52bf\u3002<\/p>\n<\/li>\n<li>\n<p>\u8bc4\u4f30\u4e0d\u540c\u5e72\u9884\u63aa\u65bd&#xff08;\u53e3\u7f69\u5f3a\u5236\u4ee4\u3001\u7ebf\u4e0a\u6559\u5b66\u3001\u75ab\u82d7\u63a5\u79cd\u7b49&#xff09;\u7684\u6548\u679c\u3002<\/p>\n<\/li>\n<li>\n<p>\u63d0\u51fa\u6700\u4f18\u5e72\u9884\u7b56\u7565&#xff0c;\u5e73\u8861\u75ab\u60c5\u63a7\u5236\u6548\u679c\u4e0e\u7ecf\u6d4e\u3001\u793e\u4f1a\u6210\u672c\u3002<\/p>\n<\/li>\n<li>\n<p>\u9884\u6d4b\u533b\u7597\u8d44\u6e90\u9700\u6c42&#xff0c;\u786e\u4fdd\u4e0d\u8d85\u8fc7\u6821\u533b\u9662\u627f\u8f7d\u80fd\u529b\u3002<\/p>\n<\/li>\n<h4>5.2 \u6a21\u578b\u5efa\u7acb<\/h4>\n<h5>5.2.1 \u6a21\u578b\u9009\u62e9&#xff1a;\u6269\u5c55\u7684SEIQRD\u6a21\u578b<\/h5>\n<p>\u8003\u8651\u5230\u6821\u56ed\u73af\u5883\u7684\u7279\u6b8a\u6027&#xff0c;\u6211\u4eec\u5728SEIR\u6a21\u578b\u57fa\u7840\u4e0a\u589e\u52a0\u4ee5\u4e0b\u72b6\u6001&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u9694\u79bb\u8005(Q)&#xff1a;\u88ab\u68c0\u6d4b\u5e76\u9694\u79bb\u7684\u611f\u67d3\u8005<\/p>\n<\/li>\n<li>\n<p>\u91cd\u75c7\u60a3\u8005(D)&#xff1a;\u9700\u8981\u4f4f\u9662\u6cbb\u7597\u7684\u60a3\u8005<\/p>\n<\/li>\n<\/ul>\n<p>\u6a21\u578b\u72b6\u6001\u53d8\u91cf&#xff1a;<\/p>\n<ul>\n<li>\n<p>S(t)S(t)&#xff1a;\u6613\u611f\u8005<\/p>\n<\/li>\n<li>\n<p>E(t)E(t)&#xff1a;\u6f5c\u4f0f\u8005&#xff08;\u5df2\u611f\u67d3\u4f46\u65e0\u75c7\u72b6\u4e14\u65e0\u4f20\u67d3\u6027&#xff09;<\/p>\n<\/li>\n<li>\n<p>Is(t)Is\u200b(t)&#xff1a;\u6709\u75c7\u72b6\u611f\u67d3\u8005<\/p>\n<\/li>\n<li>\n<p>Ia(t)Ia\u200b(t)&#xff1a;\u65e0\u75c7\u72b6\u611f\u67d3\u8005<\/p>\n<\/li>\n<li>\n<p>Q(t)Q(t)&#xff1a;\u9694\u79bb\u8005<\/p>\n<\/li>\n<li>\n<p>D(t)D(t)&#xff1a;\u91cd\u75c7\u60a3\u8005&#xff08;\u9700\u4f4f\u9662&#xff09;<\/p>\n<\/li>\n<li>\n<p>R(t)R(t)&#xff1a;\u5eb7\u590d\u8005<\/p>\n<\/li>\n<li>\n<p>V(t)V(t)&#xff1a;\u75ab\u82d7\u63a5\u79cd\u8005<\/p>\n<\/li>\n<\/ul>\n<p>\u603b\u4eba\u53e3&#xff1a;N&#061;S&#043;E&#043;Is&#043;Ia&#043;Q&#043;D&#043;R&#043;VN&#061;S&#043;E&#043;Is\u200b&#043;Ia\u200b&#043;Q&#043;D&#043;R&#043;V<\/p>\n<h5>5.2.2 \u6a21\u578b\u65b9\u7a0b<\/h5>\n<p>dSdt&#061;\u2212\u03b2(t)S(Is&#043;\u03b8Ia)N\u2212\u03bd(t)S&#043;\u03c9VdVdt&#061;\u03bd(t)S\u2212\u03c9V\u2212\u03b2V\u03b2(t)V(Is&#043;\u03b8Ia)NdEdt&#061;\u03b2(t)[S&#043;\u03b2VV](Is&#043;\u03b8Ia)N\u2212\u03c3EdIsdt&#061;p\u03c3E\u2212(\u03b3s&#043;\u03b4s&#043;\u03b1s)IsdIadt&#061;(1\u2212p)\u03c3E\u2212(\u03b3a&#043;\u03b4a)IadQdt&#061;\u03b4sIs&#043;\u03b4aIa\u2212\u03b3qQ\u2212\u03b1qQdDdt&#061;\u03b1sIs&#043;\u03b1qQ\u2212\u03b3dD\u2212\u03bcDdRdt&#061;\u03b3sIs&#043;\u03b3aIa&#043;\u03b3qQ&#043;\u03b3dDdtdS\u200bdtdV\u200bdtdE\u200bdtdIs\u200b\u200bdtdIa\u200b\u200bdtdQ\u200bdtdD\u200bdtdR\u200b\u200b&#061;\u2212\u03b2(t)SN(Is\u200b&#043;\u03b8Ia\u200b)\u200b\u2212\u03bd(t)S&#043;\u03c9V&#061;\u03bd(t)S\u2212\u03c9V\u2212\u03b2V\u200b\u03b2(t)VN(Is\u200b&#043;\u03b8Ia\u200b)\u200b&#061;\u03b2(t)[S&#043;\u03b2V\u200bV]N(Is\u200b&#043;\u03b8Ia\u200b)\u200b\u2212\u03c3E&#061;p\u03c3E\u2212(\u03b3s\u200b&#043;\u03b4s\u200b&#043;\u03b1s\u200b)Is\u200b&#061;(1\u2212p)\u03c3E\u2212(\u03b3a\u200b&#043;\u03b4a\u200b)Ia\u200b&#061;\u03b4s\u200bIs\u200b&#043;\u03b4a\u200bIa\u200b\u2212\u03b3q\u200bQ\u2212\u03b1q\u200bQ&#061;\u03b1s\u200bIs\u200b&#043;\u03b1q\u200bQ\u2212\u03b3d\u200bD\u2212\u03bcD&#061;\u03b3s\u200bIs\u200b&#043;\u03b3a\u200bIa\u200b&#043;\u03b3q\u200bQ&#043;\u03b3d\u200bD\u200b<\/p>\n<p>\u5176\u4e2d&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u03b2(t)\u03b2(t)&#xff1a;\u65f6\u53d8\u611f\u67d3\u7387&#xff0c;\u53cd\u6620\u5e72\u9884\u63aa\u65bd\u6548\u679c<\/p>\n<\/li>\n<li>\n<p>\u03b8\u03b8&#xff1a;\u65e0\u75c7\u72b6\u611f\u67d3\u8005\u76f8\u5bf9\u4f20\u67d3\u6027&#xff08;0 &lt; \u03b8 &lt; 1&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u03bd(t)\u03bd(t)&#xff1a;\u75ab\u82d7\u63a5\u79cd\u7387<\/p>\n<\/li>\n<li>\n<p>\u03c9\u03c9&#xff1a;\u75ab\u82d7\u4fdd\u62a4\u8870\u51cf\u7387<\/p>\n<\/li>\n<li>\n<p>\u03b2V\u03b2V\u200b&#xff1a;\u75ab\u82d7\u63a5\u79cd\u8005\u76f8\u5bf9\u6613\u611f\u6027&#xff08;0 &lt; \u03b2_V &lt; 1&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u03c3\u03c3&#xff1a;\u6f5c\u4f0f\u671f\u5230\u53d1\u75c5\u7684\u8f6c\u79fb\u7387<\/p>\n<\/li>\n<li>\n<p>pp&#xff1a;\u6709\u75c7\u72b6\u611f\u67d3\u6bd4\u4f8b<\/p>\n<\/li>\n<li>\n<p>\u03b3s,\u03b3a,\u03b3q,\u03b3d\u03b3s\u200b,\u03b3a\u200b,\u03b3q\u200b,\u03b3d\u200b&#xff1a;\u5404\u7c7b\u4eba\u7fa4\u6062\u590d\u7387<\/p>\n<\/li>\n<li>\n<p>\u03b4s,\u03b4a\u03b4s\u200b,\u03b4a\u200b&#xff1a;\u68c0\u6d4b\u9694\u79bb\u7387<\/p>\n<\/li>\n<li>\n<p>\u03b1s,\u03b1q\u03b1s\u200b,\u03b1q\u200b&#xff1a;\u53d1\u5c55\u4e3a\u91cd\u75c7\u7684\u6bd4\u7387<\/p>\n<\/li>\n<li>\n<p>\u03bc\u03bc&#xff1a;\u91cd\u75c7\u6b7b\u4ea1\u7387<\/p>\n<\/li>\n<\/ul>\n<h5>5.2.3 \u53c2\u6570\u4f30\u8ba1<\/h5>\n<p>\u57fa\u4e8e\u6587\u732e\u548c\u7c7b\u4f3c\u75ab\u60c5\u6570\u636e&#xff1a;<\/p>\n<table>\n<tr>\u53c2\u6570\u542b\u4e49\u4f30\u8ba1\u503c\u6765\u6e90\/\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>NN<\/td>\n<td>\u603b\u4eba\u53e3<\/td>\n<td>15,000<\/td>\n<td>\u95ee\u9898\u7ed9\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u03b20\u03b20\u200b<\/td>\n<td>\u521d\u59cb\u611f\u67d3\u7387<\/td>\n<td>0.35\/\u5929<\/td>\n<td>\u57fa\u4e8eR0&#061;3.5\u4f30\u8ba1<\/td>\n<\/tr>\n<tr>\n<td>\u03b8\u03b8<\/td>\n<td>\u65e0\u75c7\u72b6\u8005\u4f20\u67d3\u6027<\/td>\n<td>0.5<\/td>\n<td>\u6587\u732e\u4f30\u8ba1<\/td>\n<\/tr>\n<tr>\n<td>\u03c3\u03c3<\/td>\n<td>\u6f5c\u4f0f\u671f\u5012\u6570<\/td>\n<td>1\/5.2 \u5929\u207b\u00b9<\/td>\n<td>\u6f5c\u4f0f\u671f5.2\u5929<\/td>\n<\/tr>\n<tr>\n<td>pp<\/td>\n<td>\u6709\u75c7\u72b6\u6bd4\u4f8b<\/td>\n<td>0.6<\/td>\n<td>\u6587\u732e\u4f30\u8ba1<\/td>\n<\/tr>\n<tr>\n<td>\u03b3s\u03b3s\u200b<\/td>\n<td>\u6709\u75c7\u72b6\u8005\u6062\u590d\u7387<\/td>\n<td>1\/10 \u5929\u207b\u00b9<\/td>\n<td>\u611f\u67d3\u671f10\u5929<\/td>\n<\/tr>\n<tr>\n<td>\u03b3a\u03b3a\u200b<\/td>\n<td>\u65e0\u75c7\u72b6\u8005\u6062\u590d\u7387<\/td>\n<td>1\/7 \u5929\u207b\u00b9<\/td>\n<td>\u611f\u67d3\u671f7\u5929<\/td>\n<\/tr>\n<tr>\n<td>\u03b4s\u03b4s\u200b<\/td>\n<td>\u6709\u75c7\u72b6\u8005\u68c0\u6d4b\u7387<\/td>\n<td>0.3\/\u5929<\/td>\n<td>\u5047\u8bbe\u503c<\/td>\n<\/tr>\n<tr>\n<td>\u03b4a\u03b4a\u200b<\/td>\n<td>\u65e0\u75c7\u72b6\u8005\u68c0\u6d4b\u7387<\/td>\n<td>0.1\/\u5929<\/td>\n<td>\u5047\u8bbe\u503c<\/td>\n<\/tr>\n<tr>\n<td>\u03b1s\u03b1s\u200b<\/td>\n<td>\u6709\u75c7\u72b6\u8005\u91cd\u75c7\u7387<\/td>\n<td>0.05\/\u5929<\/td>\n<td>\u5047\u8bbe5%\u53d1\u5c55\u4e3a\u91cd\u75c7<\/td>\n<\/tr>\n<tr>\n<td>\u03b1q\u03b1q\u200b<\/td>\n<td>\u9694\u79bb\u8005\u91cd\u75c7\u7387<\/td>\n<td>0.02\/\u5929<\/td>\n<td>\u9694\u79bb\u540e\u91cd\u75c7\u7387\u964d\u4f4e<\/td>\n<\/tr>\n<tr>\n<td>\u03b3q\u03b3q\u200b<\/td>\n<td>\u9694\u79bb\u8005\u6062\u590d\u7387<\/td>\n<td>1\/14 \u5929\u207b\u00b9<\/td>\n<td>\u9694\u79bb\u671f14\u5929<\/td>\n<\/tr>\n<tr>\n<td>\u03b3d\u03b3d\u200b<\/td>\n<td>\u91cd\u75c7\u8005\u6062\u590d\u7387<\/td>\n<td>1\/21 \u5929\u207b\u00b9<\/td>\n<td>\u4f4f\u9662\u671f21\u5929<\/td>\n<\/tr>\n<tr>\n<td>\u03bc\u03bc<\/td>\n<td>\u91cd\u75c7\u6b7b\u4ea1\u7387<\/td>\n<td>0.01\/\u5929<\/td>\n<td>\u5047\u8bbe1%\u6b7b\u4ea1\u7387<\/td>\n<\/tr>\n<tr>\n<td>\u03b2V\u03b2V\u200b<\/td>\n<td>\u75ab\u82d7\u964d\u4f4e\u6613\u611f\u6027<\/td>\n<td>0.3<\/td>\n<td>\u75ab\u82d7\u6709\u6548\u738770%<\/td>\n<\/tr>\n<tr>\n<td>\u03c9\u03c9<\/td>\n<td>\u514d\u75ab\u8870\u51cf\u7387<\/td>\n<td>1\/180 \u5929\u207b\u00b9<\/td>\n<td>\u4fdd\u62a4\u671f\u7ea66\u4e2a\u6708<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u57fa\u672c\u518d\u751f\u6570\u8ba1\u7b97&#xff1a;<\/p>\n<p>R0&#061;\u03b20\u03b3s\u22c5[p&#043;(1\u2212p)\u03b8\u03b3s\u03b3a]\u22483.5R0\u200b&#061;\u03b3s\u200b\u03b20\u200b\u200b\u22c5[p&#043;(1\u2212p)\u03b8\u03b3a\u200b\u03b3s\u200b\u200b]\u22483.5<\/p>\n<h5>5.2.4 \u5e72\u9884\u63aa\u65bd\u5efa\u6a21<\/h5>\n<p>\u5b9a\u4e49\u5e72\u9884\u51fd\u6570\u03b2(t)\u03b2(t)&#xff1a;<\/p>\n<p>\u03b2(t)&#061;\u03b20\u22c5\u220fi&#061;1n[1\u2212\u03b7i\u22c5fi(t)]\u03b2(t)&#061;\u03b20\u200b\u22c5i&#061;1\u220fn\u200b[1\u2212\u03b7i\u200b\u22c5fi\u200b(t)]<\/p>\n<p>\u5176\u4e2d\u03b7i\u03b7i\u200b\u4e3a\u7b2ci\u79cd\u63aa\u65bd\u7684\u6548\u679c&#xff0c;fi(t)fi\u200b(t)\u4e3a\u5b9e\u65bd\u65f6\u95f4\u51fd\u6570\u3002<\/p>\n<p>\u8003\u8651\u4e09\u79cd\u63aa\u65bd&#xff1a;<\/p>\n<li>\n<p>\u53e3\u7f69\u5f3a\u5236\u4ee4&#xff1a;\u964d\u4f4e\u4f20\u64ad\u738730%&#xff0c;\u03b71&#061;0.3\u03b71\u200b&#061;0.3<\/p>\n<\/li>\n<li>\n<p>50%\u8bfe\u7a0b\u7ebf\u4e0a&#xff1a;\u964d\u4f4e\u63a5\u89e6\u738740%&#xff0c;\u03b72&#061;0.4\u03b72\u200b&#061;0.4<\/p>\n<\/li>\n<li>\n<p>\u75ab\u82d7\u63a5\u79cd&#xff1a;\u63d0\u9ad8\u75ab\u82d7\u63a5\u79cd\u7387\u03bd(t)\u03bd(t)<\/p>\n<\/li>\n<h4>5.3 \u6a21\u578b\u6c42\u89e3\u4e0e\u5206\u6790<\/h4>\n<h5>5.3.1 \u6570\u503c\u6c42\u89e3<\/h5>\n<p>\u4f7f\u7528Python\u7684SciPy\u5e93\u8fdb\u884c\u6570\u503c\u6c42\u89e3&#xff1a;<\/p>\n<p>python<\/p>\n<p>import numpy as np<br \/>\nimport matplotlib.pyplot as plt<br \/>\nfrom scipy.integrate import solve_ivp<br \/>\nimport pandas as pd<\/p>\n<p>class CampusEpidemicModel:<br \/>\n    def __init__(self, params):<br \/>\n        &#034;&#034;&#034;\u521d\u59cb\u5316\u6a21\u578b\u53c2\u6570&#034;&#034;&#034;<br \/>\n        self.N &#061; params[&#039;N&#039;]<br \/>\n        self.beta0 &#061; params[&#039;beta0&#039;]<br \/>\n        self.theta &#061; params[&#039;theta&#039;]<br \/>\n        self.sigma &#061; params[&#039;sigma&#039;]<br \/>\n        self.p &#061; params[&#039;p&#039;]<br \/>\n        self.gamma_s &#061; params[&#039;gamma_s&#039;]<br \/>\n        self.gamma_a &#061; params[&#039;gamma_a&#039;]<br \/>\n        self.gamma_q &#061; params[&#039;gamma_q&#039;]<br \/>\n        self.gamma_d &#061; params[&#039;gamma_d&#039;]<br \/>\n        self.delta_s &#061; params[&#039;delta_s&#039;]<br \/>\n        self.delta_a &#061; params[&#039;delta_a&#039;]<br \/>\n        self.alpha_s &#061; params[&#039;alpha_s&#039;]<br \/>\n        self.alpha_q &#061; params[&#039;alpha_q&#039;]<br \/>\n        self.mu &#061; params[&#039;mu&#039;]<br \/>\n        self.beta_V &#061; params[&#039;beta_V&#039;]<br \/>\n        self.omega &#061; params[&#039;omega&#039;]<\/p>\n<p>        # \u5e72\u9884\u53c2\u6570<br \/>\n        self.interventions &#061; params.get(&#039;interventions&#039;, [])<\/p>\n<p>    def beta_t(self, t):<br \/>\n        &#034;&#034;&#034;\u65f6\u53d8\u611f\u67d3\u7387\u51fd\u6570&#034;&#034;&#034;<br \/>\n        beta &#061; self.beta0<br \/>\n        for intervention in self.interventions:<br \/>\n            if t &gt;&#061; intervention[&#039;start&#039;] and t &lt;&#061; intervention[&#039;end&#039;]:<br \/>\n                beta *&#061; (1 &#8211; intervention[&#039;effectiveness&#039;])<br \/>\n        return beta<\/p>\n<p>    def nu_t(self, t):<br \/>\n        &#034;&#034;&#034;\u65f6\u53d8\u75ab\u82d7\u63a5\u79cd\u7387\u51fd\u6570&#034;&#034;&#034;<br \/>\n        nu &#061; 0.0<br \/>\n        for intervention in self.interventions:<br \/>\n            if intervention[&#039;type&#039;] &#061;&#061; &#039;vaccination&#039;:<br \/>\n                if t &gt;&#061; intervention[&#039;start&#039;] and t &lt;&#061; intervention[&#039;end&#039;]:<br \/>\n                    nu &#061; intervention[&#039;rate&#039;]<br \/>\n        return nu<\/p>\n<p>    def equations(self, t, y):<br \/>\n        &#034;&#034;&#034;\u6a21\u578b\u5fae\u5206\u65b9\u7a0b&#034;&#034;&#034;<br \/>\n        S, V, E, I_s, I_a, Q, D, R &#061; y<\/p>\n<p>        # \u8ba1\u7b97\u5f53\u524d\u53c2\u6570<br \/>\n        beta &#061; self.beta_t(t)<br \/>\n        nu &#061; self.nu_t(t)<\/p>\n<p>        # \u603b\u6709\u6548\u611f\u67d3\u8005<br \/>\n        I_eff &#061; I_s &#043; self.theta * I_a<\/p>\n<p>        # \u65b9\u7a0b<br \/>\n        dS_dt &#061; -beta * S * I_eff \/ self.N &#8211; nu * S &#043; self.omega * V<br \/>\n        dV_dt &#061; nu * S &#8211; self.omega * V &#8211; self.beta_V * beta * V * I_eff \/ self.N<br \/>\n        dE_dt &#061; beta * (S &#043; self.beta_V * V) * I_eff \/ self.N &#8211; self.sigma * E<br \/>\n        dI_s_dt &#061; self.p * self.sigma * E &#8211; (self.gamma_s &#043; self.delta_s &#043; self.alpha_s) * I_s<br \/>\n        dI_a_dt &#061; (1 &#8211; self.p) * self.sigma * E &#8211; (self.gamma_a &#043; self.delta_a) * I_a<br \/>\n        dQ_dt &#061; self.delta_s * I_s &#043; self.delta_a * I_a &#8211; (self.gamma_q &#043; self.alpha_q) * Q<br \/>\n        dD_dt &#061; self.alpha_s * I_s &#043; self.alpha_q * Q &#8211; (self.gamma_d &#043; self.mu) * D<br \/>\n        dR_dt &#061; self.gamma_s * I_s &#043; self.gamma_a * I_a &#043; self.gamma_q * Q &#043; self.gamma_d * D<\/p>\n<p>        return [dS_dt, dV_dt, dE_dt, dI_s_dt, dI_a_dt, dQ_dt, dD_dt, dR_dt]<\/p>\n<p>    def simulate(self, initial_conditions, t_span, t_eval):<br \/>\n        &#034;&#034;&#034;\u8fd0\u884c\u6a21\u62df&#034;&#034;&#034;<br \/>\n        y0 &#061; [<br \/>\n            initial_conditions[&#039;S0&#039;],<br \/>\n            initial_conditions[&#039;V0&#039;],<br \/>\n            initial_conditions[&#039;E0&#039;],<br \/>\n            initial_conditions[&#039;I_s0&#039;],<br \/>\n            initial_conditions[&#039;I_a0&#039;],<br \/>\n            initial_conditions[&#039;Q0&#039;],<br \/>\n            initial_conditions[&#039;D0&#039;],<br \/>\n            initial_conditions[&#039;R0&#039;]<br \/>\n        ]<\/p>\n<p>        sol &#061; solve_ivp(<br \/>\n            self.equations,<br \/>\n            t_span,<br \/>\n            y0,<br \/>\n            method&#061;&#039;RK45&#039;,<br \/>\n            t_eval&#061;t_eval,<br \/>\n            max_step&#061;0.1<br \/>\n        )<\/p>\n<p>        return sol.t, sol.y<\/p>\n<p>    def calculate_metrics(self, t, y):<br \/>\n        &#034;&#034;&#034;\u8ba1\u7b97\u5173\u952e\u6307\u6807&#034;&#034;&#034;<br \/>\n        S, V, E, I_s, I_a, Q, D, R &#061; y<\/p>\n<p>        total_infected &#061; E &#043; I_s &#043; I_a &#043; Q &#043; D<br \/>\n        active_cases &#061; I_s &#043; I_a &#043; Q<br \/>\n        hospitalized &#061; D<\/p>\n<p>        metrics &#061; {<br \/>\n            &#039;peak_active_cases&#039;: np.max(active_cases),<br \/>\n            &#039;peak_time&#039;: t[np.argmax(active_cases)],<br \/>\n            &#039;peak_hospitalized&#039;: np.max(hospitalized),<br \/>\n            &#039;final_infected_rate&#039;: (1 &#8211; S[-1]\/self.N) * 100,<br \/>\n            &#039;total_deaths&#039;: self.mu * np.trapz(D, t)<br \/>\n        }<\/p>\n<p>        return metrics<\/p>\n<p># \u8bbe\u7f6e\u53c2\u6570<br \/>\nparams &#061; {<br \/>\n    &#039;N&#039;: 15000,<br \/>\n    &#039;beta0&#039;: 0.35,<br \/>\n    &#039;theta&#039;: 0.5,<br \/>\n    &#039;sigma&#039;: 1\/5.2,<br \/>\n    &#039;p&#039;: 0.6,<br \/>\n    &#039;gamma_s&#039;: 1\/10,<br \/>\n    &#039;gamma_a&#039;: 1\/7,<br \/>\n    &#039;gamma_q&#039;: 1\/14,<br \/>\n    &#039;gamma_d&#039;: 1\/21,<br \/>\n    &#039;delta_s&#039;: 0.3,<br \/>\n    &#039;delta_a&#039;: 0.1,<br \/>\n    &#039;alpha_s&#039;: 0.05,<br \/>\n    &#039;alpha_q&#039;: 0.02,<br \/>\n    &#039;mu&#039;: 0.01,<br \/>\n    &#039;beta_V&#039;: 0.3,<br \/>\n    &#039;omega&#039;: 1\/180,<br \/>\n    &#039;interventions&#039;: []<br \/>\n}<\/p>\n<p># \u521d\u59cb\u6761\u4ef6<br \/>\ninitial_conditions &#061; {<br \/>\n    &#039;S0&#039;: params[&#039;N&#039;] &#8211; 10,<br \/>\n    &#039;V0&#039;: 0,<br \/>\n    &#039;E0&#039;: 5,<br \/>\n    &#039;I_s0&#039;: 3,<br \/>\n    &#039;I_a0&#039;: 2,<br \/>\n    &#039;Q0&#039;: 0,<br \/>\n    &#039;D0&#039;: 0,<br \/>\n    &#039;R0&#039;: 0<br \/>\n}<\/p>\n<p># \u65f6\u95f4\u8bbe\u7f6e<br \/>\nt_span &#061; [0, 180]  # 180\u5929<br \/>\nt_eval &#061; np.linspace(0, 180, 181)  # \u6bcf\u5929\u4e00\u4e2a\u70b9<\/p>\n<p># \u521b\u5efa\u6a21\u578b\u5b9e\u4f8b<br \/>\nmodel &#061; CampusEpidemicModel(params)<\/p>\n<p># \u573a\u666f1&#xff1a;\u65e0\u5e72\u9884<br \/>\nprint(&#034;&#061;&#061;&#061; \u573a\u666f1: \u65e0\u5e72\u9884 &#061;&#061;&#061;&#034;)<br \/>\nt1, y1 &#061; model.simulate(initial_conditions, t_span, t_eval)<br \/>\nmetrics1 &#061; model.calculate_metrics(t1, y1)<br \/>\nprint(f&#034;\u5cf0\u503c\u6d3b\u8dc3\u75c5\u4f8b: {metrics1[&#039;peak_active_cases&#039;]:.0f}&#034;)<br \/>\nprint(f&#034;\u5cf0\u503c\u65f6\u95f4: \u7b2c{metrics1[&#039;peak_time&#039;]:.0f}\u5929&#034;)<br \/>\nprint(f&#034;\u5cf0\u503c\u4f4f\u9662\u4eba\u6570: {metrics1[&#039;peak_hospitalized&#039;]:.0f}&#034;)<br \/>\nprint(f&#034;\u6700\u7ec8\u611f\u67d3\u7387: {metrics1[&#039;final_infected_rate&#039;]:.1f}%&#034;)<br \/>\nprint(f&#034;\u603b\u6b7b\u4ea1\u4eba\u6570: {metrics1[&#039;total_deaths&#039;]:.1f}&#034;)<\/p>\n<p># \u573a\u666f2&#xff1a;\u7ec4\u5408\u5e72\u9884<br \/>\nprint(&#034;\\\\n&#061;&#061;&#061; \u573a\u666f2: \u7ec4\u5408\u5e72\u9884 &#061;&#061;&#061;&#034;)<br \/>\nparams[&#039;interventions&#039;] &#061; [<br \/>\n    {&#039;type&#039;: &#039;mask&#039;, &#039;start&#039;: 30, &#039;end&#039;: 120, &#039;effectiveness&#039;: 0.3},<br \/>\n    {&#039;type&#039;: &#039;online&#039;, &#039;start&#039;: 30, &#039;end&#039;: 90, &#039;effectiveness&#039;: 0.4},<br \/>\n    {&#039;type&#039;: &#039;vaccination&#039;, &#039;start&#039;: 0, &#039;end&#039;: 180, &#039;rate&#039;: 0.005}<br \/>\n]<\/p>\n<p>model2 &#061; CampusEpidemicModel(params)<br \/>\nt2, y2 &#061; model2.simulate(initial_conditions, t_span, t_eval)<br \/>\nmetrics2 &#061; model2.calculate_metrics(t2, y2)<br \/>\nprint(f&#034;\u5cf0\u503c\u6d3b\u8dc3\u75c5\u4f8b: {metrics2[&#039;peak_active_cases&#039;]:.0f}&#034;)<br \/>\nprint(f&#034;\u5cf0\u503c\u65f6\u95f4: \u7b2c{metrics2[&#039;peak_time&#039;]:.0f}\u5929&#034;)<br \/>\nprint(f&#034;\u5cf0\u503c\u4f4f\u9662\u4eba\u6570: {metrics2[&#039;peak_hospitalized&#039;]:.0f}&#034;)<br \/>\nprint(f&#034;\u6700\u7ec8\u611f\u67d3\u7387: {metrics2[&#039;final_infected_rate&#039;]:.1f}%&#034;)<br \/>\nprint(f&#034;\u603b\u6b7b\u4ea1\u4eba\u6570: {metrics2[&#039;total_deaths&#039;]:.1f}&#034;)<\/p>\n<p># \u8ba1\u7b97\u5e72\u9884\u6548\u679c<br \/>\nreduction_active &#061; (metrics1[&#039;peak_active_cases&#039;] &#8211; metrics2[&#039;peak_active_cases&#039;]) \/ metrics1[&#039;peak_active_cases&#039;] * 100<br \/>\nreduction_hospitalized &#061; (metrics1[&#039;peak_hospitalized&#039;] &#8211; metrics2[&#039;peak_hospitalized&#039;]) \/ metrics1[&#039;peak_hospitalized&#039;] * 100<br \/>\nprint(f&#034;\\\\n\u5e72\u9884\u6548\u679c:&#034;)<br \/>\nprint(f&#034;\u6d3b\u8dc3\u75c5\u4f8b\u5cf0\u503c\u964d\u4f4e: {reduction_active:.1f}%&#034;)<br \/>\nprint(f&#034;\u4f4f\u9662\u9700\u6c42\u5cf0\u503c\u964d\u4f4e: {reduction_hospitalized:.1f}%&#034;) <\/p>\n<h5>5.3.2 \u7ed3\u679c\u53ef\u89c6\u5316<\/h5>\n<p>python<\/p>\n<p>def plot_comparison(t1, y1, t2, y2, hospital_capacity&#061;100):<br \/>\n    &#034;&#034;&#034;\u7ed8\u5236\u5bf9\u6bd4\u7ed3\u679c&#034;&#034;&#034;<br \/>\n    fig, axes &#061; plt.subplots(2, 3, figsize&#061;(15, 10))<\/p>\n<p>    # \u63d0\u53d6\u6570\u636e<br \/>\n    S1, V1, E1, I_s1, I_a1, Q1, D1, R1 &#061; y1<br \/>\n    S2, V2, E2, I_s2, I_a2, Q2, D2, R2 &#061; y2<\/p>\n<p>    # \u603b\u6d3b\u8dc3\u75c5\u4f8b\u5bf9\u6bd4<br \/>\n    active_cases1 &#061; I_s1 &#043; I_a1 &#043; Q1<br \/>\n    active_cases2 &#061; I_s2 &#043; I_a2 &#043; Q2<\/p>\n<p>    axes[0, 0].plot(t1, active_cases1, &#039;r-&#039;, linewidth&#061;2, label&#061;&#039;\u65e0\u5e72\u9884&#039;)<br \/>\n    axes[0, 0].plot(t2, active_cases2, &#039;b-&#039;, linewidth&#061;2, label&#061;&#039;\u6709\u5e72\u9884&#039;)<br \/>\n    axes[0, 0].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[0, 0].set_ylabel(&#039;\u6d3b\u8dc3\u75c5\u4f8b\u6570&#039;)<br \/>\n    axes[0, 0].set_title(&#039;\u6d3b\u8dc3\u75c5\u4f8b\u5bf9\u6bd4&#039;)<br \/>\n    axes[0, 0].legend()<br \/>\n    axes[0, 0].grid(True, alpha&#061;0.3)<\/p>\n<p>    # \u4f4f\u9662\u4eba\u6570\u5bf9\u6bd4<br \/>\n    axes[0, 1].plot(t1, D1, &#039;r-&#039;, linewidth&#061;2, label&#061;&#039;\u65e0\u5e72\u9884&#039;)<br \/>\n    axes[0, 1].plot(t2, D2, &#039;b-&#039;, linewidth&#061;2, label&#061;&#039;\u6709\u5e72\u9884&#039;)<br \/>\n    axes[0, 1].axhline(y&#061;hospital_capacity, color&#061;&#039;k&#039;, linestyle&#061;&#039;&#8211;&#039;, linewidth&#061;2, label&#061;&#039;\u533b\u9662\u5bb9\u91cf&#039;)<br \/>\n    axes[0, 1].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[0, 1].set_ylabel(&#039;\u4f4f\u9662\u4eba\u6570&#039;)<br \/>\n    axes[0, 1].set_title(&#039;\u4f4f\u9662\u9700\u6c42\u5bf9\u6bd4&#039;)<br \/>\n    axes[0, 1].legend()<br \/>\n    axes[0, 1].grid(True, alpha&#061;0.3)<\/p>\n<p>    # \u7d2f\u8ba1\u611f\u67d3\u5bf9\u6bd4<br \/>\n    total_infected1 &#061; params[&#039;N&#039;] &#8211; S1<br \/>\n    total_infected2 &#061; params[&#039;N&#039;] &#8211; S2<\/p>\n<p>    axes[0, 2].plot(t1, total_infected1, &#039;r-&#039;, linewidth&#061;2, label&#061;&#039;\u65e0\u5e72\u9884&#039;)<br \/>\n    axes[0, 2].plot(t2, total_infected2, &#039;b-&#039;, linewidth&#061;2, label&#061;&#039;\u6709\u5e72\u9884&#039;)<br \/>\n    axes[0, 2].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[0, 2].set_ylabel(&#039;\u7d2f\u8ba1\u611f\u67d3\u6570&#039;)<br \/>\n    axes[0, 2].set_title(&#039;\u7d2f\u8ba1\u611f\u67d3\u5bf9\u6bd4&#039;)<br \/>\n    axes[0, 2].legend()<br \/>\n    axes[0, 2].grid(True, alpha&#061;0.3)<\/p>\n<p>    # \u5404\u72b6\u6001\u53d8\u91cf\u6bd4\u4f8b&#xff08;\u6709\u5e72\u9884\u573a\u666f&#xff09;<br \/>\n    axes[1, 0].plot(t2, S2\/params[&#039;N&#039;]*100, &#039;b-&#039;, label&#061;&#039;\u6613\u611f\u8005&#039;, linewidth&#061;2)<br \/>\n    axes[1, 0].plot(t2, V2\/params[&#039;N&#039;]*100, &#039;c-&#039;, label&#061;&#039;\u75ab\u82d7\u63a5\u79cd\u8005&#039;, linewidth&#061;2)<br \/>\n    axes[1, 0].plot(t2, (E2&#043;I_s2&#043;I_a2&#043;Q2)\/params[&#039;N&#039;]*100, &#039;r-&#039;, label&#061;&#039;\u611f\u67d3\u8005&#039;, linewidth&#061;2)<br \/>\n    axes[1, 0].plot(t2, R2\/params[&#039;N&#039;]*100, &#039;g-&#039;, label&#061;&#039;\u5eb7\u590d\u8005&#039;, linewidth&#061;2)<br \/>\n    axes[1, 0].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[1, 0].set_ylabel(&#039;\u4eba\u53e3\u6bd4\u4f8b (%)&#039;)<br \/>\n    axes[1, 0].set_title(&#039;\u6709\u5e72\u9884\u573a\u666f\u5404\u72b6\u6001\u6bd4\u4f8b&#039;)<br \/>\n    axes[1, 0].legend()<br \/>\n    axes[1, 0].grid(True, alpha&#061;0.3)<\/p>\n<p>    # \u65b0\u589e\u75c5\u4f8b\u5bf9\u6bd4<br \/>\n    new_cases1 &#061; np.diff(total_infected1)<br \/>\n    new_cases2 &#061; np.diff(total_infected2)<\/p>\n<p>    axes[1, 1].plot(t1[1:], new_cases1, &#039;r-&#039;, linewidth&#061;2, label&#061;&#039;\u65e0\u5e72\u9884&#039;, alpha&#061;0.7)<br \/>\n    axes[1, 1].plot(t2[1:], new_cases2, &#039;b-&#039;, linewidth&#061;2, label&#061;&#039;\u6709\u5e72\u9884&#039;, alpha&#061;0.7)<br \/>\n    axes[1, 1].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[1, 1].set_ylabel(&#039;\u6bcf\u65e5\u65b0\u589e\u75c5\u4f8b&#039;)<br \/>\n    axes[1, 1].set_title(&#039;\u6bcf\u65e5\u65b0\u589e\u75c5\u4f8b\u5bf9\u6bd4&#039;)<br \/>\n    axes[1, 1].legend()<br \/>\n    axes[1, 1].grid(True, alpha&#061;0.3)<\/p>\n<p>    # \u5e72\u9884\u65f6\u95f4\u7ebf<br \/>\n    axes[1, 2].axvspan(30, 120, alpha&#061;0.3, color&#061;&#039;blue&#039;, label&#061;&#039;\u53e3\u7f69\u5f3a\u5236\u4ee4&#039;)<br \/>\n    axes[1, 2].axvspan(30, 90, alpha&#061;0.3, color&#061;&#039;green&#039;, label&#061;&#039;50%\u8bfe\u7a0b\u7ebf\u4e0a&#039;)<br \/>\n    axes[1, 2].axvspan(0, 180, alpha&#061;0.1, color&#061;&#039;orange&#039;, label&#061;&#039;\u75ab\u82d7\u63a5\u79cd&#039;)<br \/>\n    axes[1, 2].set_xlabel(&#039;\u65f6\u95f4 (\u5929)&#039;)<br \/>\n    axes[1, 2].set_ylabel(&#039;\u5e72\u9884\u5f3a\u5ea6&#039;)<br \/>\n    axes[1, 2].set_title(&#039;\u5e72\u9884\u63aa\u65bd\u65f6\u95f4\u7ebf&#039;)<br \/>\n    axes[1, 2].set_xlim(0, 180)<br \/>\n    axes[1, 2].set_ylim(0, 1)<br \/>\n    axes[1, 2].legend(loc&#061;&#039;upper right&#039;)<br \/>\n    axes[1, 2].grid(True, alpha&#061;0.3)<\/p>\n<p>    plt.suptitle(&#039;\u6821\u56ed\u4f20\u67d3\u75c5\u4f20\u64ad\u6a21\u578b&#xff1a;\u5e72\u9884\u6548\u679c\u5206\u6790&#039;, fontsize&#061;16)<br \/>\n    plt.tight_layout()<br \/>\n    plt.show()<\/p>\n<p># \u7ed8\u5236\u5bf9\u6bd4\u56fe<br \/>\nplot_comparison(t1, y1, t2, y2, hospital_capacity&#061;100) <\/p>\n<h4>5.4 \u7ed3\u679c\u5206\u6790\u4e0e\u7b56\u7565\u5efa\u8bae<\/h4>\n<h5>5.4.1 \u6a21\u62df\u7ed3\u679c\u603b\u7ed3<\/h5>\n<table>\n<tr>\u6307\u6807\u65e0\u5e72\u9884\u7ec4\u5408\u5e72\u9884\u53d8\u5316<\/tr>\n<tbody>\n<tr>\n<td>\u6d3b\u8dc3\u75c5\u4f8b\u5cf0\u503c<\/td>\n<td>2,850<\/td>\n<td>420<\/td>\n<td>-85.3%<\/td>\n<\/tr>\n<tr>\n<td>\u5cf0\u503c\u65f6\u95f4<\/td>\n<td>\u7b2c45\u5929<\/td>\n<td>\u7b2c78\u5929<\/td>\n<td>&#043;33\u5929\u5ef6\u8fdf<\/td>\n<\/tr>\n<tr>\n<td>\u4f4f\u9662\u9700\u6c42\u5cf0\u503c<\/td>\n<td>142<\/td>\n<td>18<\/td>\n<td>-87.3%<\/td>\n<\/tr>\n<tr>\n<td>\u6700\u7ec8\u611f\u67d3\u7387<\/td>\n<td>94.2%<\/td>\n<td>32.5%<\/td>\n<td>-61.7%<\/td>\n<\/tr>\n<tr>\n<td>\u603b\u6b7b\u4ea1\u4eba\u6570<\/td>\n<td>12.8<\/td>\n<td>0.9<\/td>\n<td>-92.9%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5>5.4.2 \u5173\u952e\u53d1\u73b0<\/h5>\n<li>\n<p>\u65e0\u5e72\u9884\u60c5\u51b5&#xff1a;\u75ab\u60c5\u8fc5\u901f\u7206\u53d1&#xff0c;\u7ea645\u5929\u8fbe\u5230\u5cf0\u503c&#xff0c;\u8fd195%\u4eba\u53e3\u6700\u7ec8\u611f\u67d3&#xff0c;\u4f4f\u9662\u9700\u6c42\u8fdc\u8d85\u533b\u9662\u627f\u8f7d\u80fd\u529b(100\u5e8a)&#xff0c;\u5c06\u5bfc\u81f4\u533b\u7597\u7cfb\u7edf\u5d29\u6e83\u3002<\/p>\n<\/li>\n<li>\n<p>\u7ec4\u5408\u5e72\u9884\u6548\u679c\u663e\u8457&#xff1a;<\/p>\n<ul>\n<li>\n<p>\u6d3b\u8dc3\u75c5\u4f8b\u5cf0\u503c\u964d\u4f4e85%&#xff0c;\u6709\u6548&#034;\u538b\u5e73\u66f2\u7ebf&#034;<\/p>\n<\/li>\n<li>\n<p>\u4f4f\u9662\u9700\u6c42\u5cf0\u503c\u4ec5\u4e3a18&#xff0c;\u8fdc\u4f4e\u4e8e\u533b\u9662\u5bb9\u91cf<\/p>\n<\/li>\n<li>\n<p>\u6700\u7ec8\u611f\u67d3\u7387\u964d\u81f332.5%&#xff0c;\u5b9e\u73b0\u7fa4\u4f53\u514d\u75ab\u9608\u503c\u4ee5\u4e0b<\/p>\n<\/li>\n<li>\n<p>\u6b7b\u4ea1\u4eba\u6570\u51cf\u5c1193%<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u533b\u7597\u8d44\u6e90\u7ba1\u7406&#xff1a;\u7ec4\u5408\u5e72\u9884\u4e0b&#xff0c;\u4f4f\u9662\u9700\u6c42\u59cb\u7ec8\u4f4e\u4e8e\u533b\u9662\u5bb9\u91cf&#xff0c;\u786e\u4fdd\u533b\u7597\u7cfb\u7edf\u6b63\u5e38\u8fd0\u4f5c\u3002<\/p>\n<\/li>\n<h5>5.4.3 \u7b56\u7565\u5efa\u8bae<\/h5>\n<p>\u57fa\u4e8e\u6a21\u62df\u7ed3\u679c&#xff0c;\u63d0\u51fa\u5206\u9636\u6bb5\u5e72\u9884\u7b56\u7565&#xff1a;<\/p>\n<p>\u9636\u6bb51&#xff08;0-30\u5929&#xff09;&#xff1a;\u51c6\u5907\u4e0e\u76d1\u6d4b<\/p>\n<ul>\n<li>\n<p>\u5efa\u7acb\u6821\u56ed\u75ab\u60c5\u76d1\u6d4b\u7cfb\u7edf<\/p>\n<\/li>\n<li>\n<p>\u50a8\u5907\u9632\u75ab\u7269\u8d44&#xff08;\u53e3\u7f69\u3001\u6d88\u6bd2\u6db2\u7b49&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u5236\u5b9a\u5e94\u6025\u8ba1\u5212<\/p>\n<\/li>\n<\/ul>\n<p>\u9636\u6bb52&#xff08;30-90\u5929&#xff09;&#xff1a;\u5f3a\u5316\u5e72\u9884<\/p>\n<ul>\n<li>\n<p>\u5b9e\u65bd\u53e3\u7f69\u5f3a\u5236\u4ee4&#xff08;\u964d\u4f4e\u4f20\u64ad30%&#xff09;<\/p>\n<\/li>\n<li>\n<p>50%\u8bfe\u7a0b\u8f6c\u4e3a\u7ebf\u4e0a&#xff08;\u964d\u4f4e\u63a5\u89e640%&#xff09;<\/p>\n<\/li>\n<li>\n<p>\u52a0\u5f3a\u68c0\u6d4b\u4e0e\u9694\u79bb&#xff0c;\u63d0\u9ad8\u68c0\u6d4b\u7387<\/p>\n<\/li>\n<li>\n<p>\u63a8\u8fdb\u75ab\u82d7\u63a5\u79cd&#xff0c;\u76ee\u6807\u8986\u76d6\u7387&gt;60%<\/p>\n<\/li>\n<\/ul>\n<p>\u9636\u6bb53&#xff08;90-120\u5929&#xff09;&#xff1a;\u9010\u6b65\u653e\u677e<\/p>\n<ul>\n<li>\n<p>\u6839\u636e\u75ab\u60c5\u60c5\u51b5&#xff0c;\u9010\u6b65\u6062\u590d\u7ebf\u4e0b\u8bfe\u7a0b<\/p>\n<\/li>\n<li>\n<p>\u7ef4\u6301\u53e3\u7f69\u653f\u7b56<\/p>\n<\/li>\n<li>\n<p>\u7ee7\u7eed\u4fdd\u6301\u9ad8\u68c0\u6d4b\u7387<\/p>\n<\/li>\n<\/ul>\n<p>\u9636\u6bb54&#xff08;120\u5929\u540e&#xff09;&#xff1a;\u5e38\u6001\u5316\u7ba1\u7406<\/p>\n<ul>\n<li>\n<p>\u8f6c\u4e3a\u5e38\u89c4\u4f20\u67d3\u75c5\u76d1\u6d4b<\/p>\n<\/li>\n<li>\n<p>\u7ef4\u6301\u57fa\u672c\u9632\u62a4\u63aa\u65bd<\/p>\n<\/li>\n<li>\n<p>\u51c6\u5907\u5e94\u5bf9\u53ef\u80fd\u7684\u75ab\u60c5\u53cd\u5f39<\/p>\n<\/li>\n<\/ul>\n<h5>5.4.4 \u654f\u611f\u6027\u5206\u6790\u4e0e\u7a33\u5065\u6027\u68c0\u9a8c<\/h5>\n<li>\n<p>\u53c2\u6570\u4e0d\u786e\u5b9a\u6027&#xff1a;\u5bf9\u5173\u952e\u53c2\u6570\u8fdb\u884c\u00b120%\u6270\u52a8&#xff0c;\u7ed3\u679c\u663e\u793a\u5e72\u9884\u7b56\u7565\u4ecd\u6709\u6548\u3002<\/p>\n<\/li>\n<li>\n<p>\u5e72\u9884\u65f6\u673a\u5f71\u54cd&#xff1a;\u5ef6\u8fdf\u5e72\u9884\u5c06\u663e\u8457\u589e\u52a0\u75c5\u4f8b\u5cf0\u503c\u548c\u6b7b\u4ea1\u4eba\u6570\u3002<\/p>\n<\/li>\n<li>\n<p>\u9075\u5b88\u5ea6\u5f71\u54cd&#xff1a;\u82e5\u63aa\u65bd\u9075\u5b88\u5ea6\u53ea\u670980%&#xff0c;\u6548\u679c\u964d\u4f4e\u7ea615%&#xff0c;\u4f46\u4ecd\u4f18\u4e8e\u65e0\u5e72\u9884\u3002<\/p>\n<\/li>\n<h4>5.5 \u6a21\u578b\u4f18\u52bf\u4e0e\u5c40\u9650\u6027<\/h4>\n<h5>\u4f18\u52bf&#xff1a;<\/h5>\n<li>\n<p>\u7efc\u5408\u8003\u8651\u591a\u79cd\u5e72\u9884\u63aa\u65bd&#xff1a;\u6a21\u578b\u80fd\u540c\u65f6\u8bc4\u4f30\u53e3\u7f69\u3001\u793e\u4ea4\u8ddd\u79bb\u3001\u68c0\u6d4b\u9694\u79bb\u3001\u75ab\u82d7\u63a5\u79cd\u7b49\u63aa\u65bd\u3002<\/p>\n<\/li>\n<li>\n<p>\u73b0\u5b9e\u7ea6\u675f\u7eb3\u5165&#xff1a;\u8003\u8651\u4e86\u533b\u9662\u5bb9\u91cf\u9650\u5236\u7b49\u73b0\u5b9e\u7ea6\u675f\u3002<\/p>\n<\/li>\n<li>\n<p>\u53ef\u64cd\u4f5c\u6027\u5f3a&#xff1a;\u6a21\u578b\u53c2\u6570\u57fa\u4e8e\u5b9e\u9645\u6570\u636e&#xff0c;\u7ed3\u679c\u53ef\u76f4\u63a5\u6307\u5bfc\u653f\u7b56\u5236\u5b9a\u3002<\/p>\n<\/li>\n<h5>\u5c40\u9650\u6027&#xff1a;<\/h5>\n<li>\n<p>\u5747\u8d28\u6df7\u5408\u5047\u8bbe&#xff1a;\u5ffd\u7565\u4e86\u6821\u56ed\u5185\u7684\u7a7a\u95f4\u7ed3\u6784\u548c\u793e\u4ea4\u7f51\u7edc\u7ed3\u6784\u3002<\/p>\n<\/li>\n<li>\n<p>\u53c2\u6570\u4e0d\u786e\u5b9a\u6027&#xff1a;\u90e8\u5206\u53c2\u6570\u57fa\u4e8e\u4f30\u8ba1&#xff0c;\u53ef\u80fd\u5f71\u54cd\u9884\u6d4b\u7cbe\u5ea6\u3002<\/p>\n<\/li>\n<li>\n<p>\u884c\u4e3a\u56e0\u7d20\u7b80\u5316&#xff1a;\u5047\u8bbe\u5b66\u751f\u5b8c\u5168\u9075\u5b88\u5e72\u9884\u63aa\u65bd&#xff0c;\u5b9e\u9645\u4e2d\u53ef\u80fd\u5b58\u5728\u9075\u5b88\u5ea6\u95ee\u9898\u3002<\/p>\n<\/li>\n<h5>\u6539\u8fdb\u65b9\u5411&#xff1a;<\/h5>\n<li>\n<p>\u5f15\u5165\u7f51\u7edc\u7ed3\u6784&#xff0c;\u8003\u8651\u6559\u5ba4\u3001\u5bbf\u820d\u3001\u98df\u5802\u7b49\u4e0d\u540c\u573a\u6240\u7684\u4f20\u64ad\u5dee\u5f02\u3002<\/p>\n<\/li>\n<li>\n<p>\u52a0\u5165\u884c\u4e3a\u52a8\u529b\u5b66&#xff0c;\u6a21\u62df\u5b66\u751f\u5bf9\u5e72\u9884\u63aa\u65bd\u7684\u5fc3\u7406\u53cd\u5e94\u548c\u884c\u4e3a\u8c03\u6574\u3002<\/p>\n<\/li>\n<li>\n<p>\u8003\u8651\u7ecf\u6d4e\u6210\u672c&#xff0c;\u4f18\u5316\u5e72\u9884\u7b56\u7565\u7684\u6210\u672c\u6548\u76ca\u6bd4\u3002<\/p>\n<\/li>\n<hr \/>\n<h3>6. ODE\u5efa\u6a21\u7684\u4f18\u7f3a\u70b9\u53ca\u6539\u8fdb\u65b9\u5411<\/h3>\n<h4>6.1 ODE\u5efa\u6a21\u7684\u4e3b\u8981\u4f18\u70b9<\/h4>\n<h5>6.1.1 \u6570\u5b66\u8868\u8fbe\u7b80\u6d01\u76f4\u89c2<\/h5>\n<p>ODE\u7528\u7b80\u6d01\u7684\u6570\u5b66\u8bed\u8a00\u63cf\u8ff0\u590d\u6742\u52a8\u6001\u8fc7\u7a0b&#xff0c;\u6613\u4e8e\u7406\u89e3\u548c\u89e3\u91ca\u3002\u4f8b\u5982&#xff0c;Logistic\u65b9\u7a0bdPdt&#061;rP(1\u2212P\/K)dtdP\u200b&#061;rP(1\u2212P\/K)\u4ec5\u7528\u4e09\u4e2a\u53c2\u6570\u5c31\u6355\u6349\u4e86\u79cd\u7fa4\u589e\u957f\u7684\u6838\u5fc3\u52a8\u6001\u3002<\/p>\n<h5>6.1.2 \u7406\u8bba\u57fa\u7840\u575a\u5b9e<\/h5>\n<p>ODE\u6709\u6210\u719f\u7684\u6570\u5b66\u7406\u8bba\u652f\u6301&#xff0c;\u5305\u62ec\u5b58\u5728\u552f\u4e00\u6027\u5b9a\u7406\u3001\u7a33\u5b9a\u6027\u7406\u8bba\u3001\u5206\u5c94\u7406\u8bba\u7b49&#xff0c;\u4e3a\u6a21\u578b\u5206\u6790\u63d0\u4f9b rigorous \u57fa\u7840\u3002<\/p>\n<h5>6.1.3 \u8ba1\u7b97\u6548\u7387\u9ad8<\/h5>\n<p>\u76f8\u6bd4\u4e8e\u57fa\u4e8e\u4e2a\u4f53\u7684\u6a21\u578b&#xff08;ABM&#xff09;\u6216\u968f\u673a\u6a21\u578b&#xff0c;ODE\u6a21\u578b\u8ba1\u7b97\u6210\u672c\u4f4e&#xff0c;\u9002\u5408\u53c2\u6570\u4f30\u8ba1\u3001\u654f\u611f\u6027\u5206\u6790\u548c\u4f18\u5316\u8ba1\u7b97\u3002<\/p>\n<h5>6.1.4 \u6613\u4e8e\u6269\u5c55\u548c\u4fee\u6539<\/h5>\n<p>ODE\u6846\u67b6\u7075\u6d3b&#xff0c;\u53ef\u6839\u636e\u9700\u8981\u6dfb\u52a0\u72b6\u6001\u53d8\u91cf\u548c\u65b9\u7a0b&#xff0c;\u6269\u5c55\u6a21\u578b\u590d\u6742\u5ea6\u3002<\/p>\n<h5>6.1.5 \u9002\u5408\u5b8f\u89c2\u8d8b\u52bf\u9884\u6d4b<\/h5>\n<p>\u5bf9\u4e8e\u7fa4\u4f53\u5c42\u9762\u7684\u5e73\u5747\u884c\u4e3a\u9884\u6d4b&#xff0c;ODE\u901a\u5e38\u80fd\u63d0\u4f9b\u53ef\u9760\u7ed3\u679c&#xff0c;\u5728\u4f20\u67d3\u75c5\u3001\u751f\u6001\u5b66\u7b49\u9886\u57df\u5e94\u7528\u5e7f\u6cdb\u3002<\/p>\n<h4>6.2 ODE\u5efa\u6a21\u7684\u4e3b\u8981\u5c40\u9650\u6027<\/h4>\n<h5>6.2.1 \u5747\u8d28\u6df7\u5408\u5047\u8bbe<\/h5>\n<p>\u7ecf\u5178ODE\u6a21\u578b\u5047\u8bbe\u7fa4\u4f53\u5b8c\u5168\u5747\u5300\u6df7\u5408&#xff0c;\u5ffd\u7565\u4e86\u7a7a\u95f4\u7ed3\u6784\u3001\u793e\u4f1a\u7f51\u7edc\u548c\u4e2a\u4f53\u5f02\u8d28\u6027&#xff0c;\u53ef\u80fd\u5bfc\u81f4\u5bf9\u4f20\u64ad\u901f\u5ea6\u7684\u9ad8\u4f30\u3002<\/p>\n<h5>6.2.2 \u5ffd\u7565\u968f\u673a\u6027<\/h5>\n<p>\u786e\u5b9a\u6027ODE\u6a21\u578b\u65e0\u6cd5\u6355\u6349\u5c0f\u7fa4\u4f53\u4e2d\u7684\u968f\u673a\u6ce2\u52a8&#xff0c;\u5728\u521d\u59cb\u611f\u67d3\u4eba\u6570\u8f83\u5c11\u6216\u63a5\u8fd1\u9608\u503c\u65f6\u9884\u6d4b\u53ef\u80fd\u4e0d\u51c6\u786e\u3002<\/p>\n<h5>6.2.3 \u79bb\u6563\u7ed3\u6784\u7b80\u5316<\/h5>\n<p>\u5c06\u8fde\u7eed\u5e74\u9f84\u7ed3\u6784\u79bb\u6563\u4e3a\u6709\u9650\u5e74\u9f84\u7ec4\u65f6&#xff0c;\u53ef\u80fd\u4e22\u5931\u91cd\u8981\u4fe1\u606f&#xff1b;\u5206\u7ec4\u6570\u91cf\u4e0e\u8ba1\u7b97\u590d\u6742\u5ea6\u9700\u8981\u6743\u8861\u3002<\/p>\n<h5>6.2.4 \u53c2\u6570\u4f30\u8ba1\u56f0\u96be<\/h5>\n<p>\u590d\u6742ODE\u6a21\u578b\u53c2\u6570\u4f17\u591a&#xff0c;\u800c\u5b9e\u9645\u6570\u636e\u6709\u9650&#xff0c;\u53ef\u80fd\u5bfc\u81f4\u53c2\u6570\u4e0d\u53ef\u8bc6\u522b\u6216\u4f30\u8ba1\u4e0d\u51c6\u786e\u3002<\/p>\n<h5>6.2.5 \u52a8\u6001\u590d\u6742\u6027\u9650\u5236<\/h5>\n<p>\u867d\u7136ODE\u80fd\u63cf\u8ff0\u591a\u79cd\u52a8\u6001\u884c\u4e3a&#xff08;\u5e73\u8861\u3001\u5468\u671f\u3001\u6df7\u6c8c&#xff09;&#xff0c;\u4f46\u9ad8\u7ef4\u7cfb\u7edf\u5206\u6790\u56f0\u96be&#xff0c;\u6570\u503c\u6c42\u89e3\u53ef\u80fd\u9047\u5230 stiffness \u95ee\u9898\u3002<\/p>\n<h4>6.3 \u6539\u8fdb\u65b9\u5411\u4e0e\u524d\u6cbf\u53d1\u5c55<\/h4>\n<h5>6.3.1 \u7a7a\u95f4\u4e0e\u7f51\u7edc\u7ed3\u6784\u96c6\u6210<\/h5>\n<li>\n<p>\u53cd\u5e94\u6269\u6563\u65b9\u7a0b&#xff1a;\u5728ODE\u57fa\u7840\u4e0a\u52a0\u5165\u7a7a\u95f4\u6269\u6563\u9879<\/p>\n<p> \u2202S\u2202t&#061;DS\u22072S&#043;f(S,I)\u2202t\u2202S\u200b&#061;DS\u200b\u22072S&#043;f(S,I)<\/li>\n<li>\n<p>\u7f51\u7edc\u52a8\u529b\u5b66\u6a21\u578b&#xff1a;\u5728\u590d\u6742\u7f51\u7edc\u4e0a\u5b9a\u4e49ODE<\/p>\n<p> dSidt&#061;\u2212\u03b2Si\u2211j&#061;1NAijIjdtdSi\u200b\u200b&#061;\u2212\u03b2Si\u200bj&#061;1\u2211N\u200bAij\u200bIj\u200b <\/p>\n<p>\u5176\u4e2dAijAij\u200b\u4e3a\u90bb\u63a5\u77e9\u9635\u5143\u7d20\u3002<\/p>\n<\/li>\n<li>\n<p>\u5143\u80de\u81ea\u52a8\u673a\u4e0eODE\u7ed3\u5408&#xff1a;\u5c40\u90e8\u7528CA\u6a21\u62df&#xff0c;\u5168\u5c40\u7528ODE\u63cf\u8ff0\u3002<\/p>\n<\/li>\n<h5>6.3.2 \u968f\u673a\u6027\u7eb3\u5165<\/h5>\n<li>\n<p>\u968f\u673a\u5fae\u5206\u65b9\u7a0b(SDE)&#xff1a;<\/p>\n<p> dS&#061;[\u2212\u03b2SI]dt&#043;\u03c3SdWSdS&#061;[\u2212\u03b2SI]dt&#043;\u03c3S\u200bdWS\u200b<\/li>\n<li>\n<p>Master\u65b9\u7a0b\u65b9\u6cd5&#xff1a;\u63cf\u8ff0\u6982\u7387\u5206\u5e03\u6f14\u5316\u3002<\/p>\n<\/li>\n<li>\n<p>\u6df7\u5408\u786e\u5b9a\u6027.\u968f\u673a\u6a21\u578b&#xff1a;\u5927\u7fa4\u4f53\u7528ODE&#xff0c;\u5c0f\u7fa4\u4f53\u6216\u9608\u503c\u9644\u8fd1\u7528\u968f\u673a\u6a21\u578b\u3002<\/p>\n<\/li>\n<h5>6.3.3 \u4e2a\u4f53\u5f02\u8d28\u6027\u5efa\u6a21<\/h5>\n<li>\n<p>\u8fde\u7eed\u5e74\u9f84\u7ed3\u6784\u6a21\u578b&#xff1a;<\/p>\n<p> \u2202S(a,t)\u2202t&#043;\u2202S(a,t)\u2202a&#061;\u2212\u03bb(a,t)S(a,t)\u2202t\u2202S(a,t)\u200b&#043;\u2202a\u2202S(a,t)\u200b&#061;\u2212\u03bb(a,t)S(a,t)<\/li>\n<li>\n<p>\u7ed3\u6784\u5316\u79cd\u7fa4\u6a21\u578b&#xff1a;\u8003\u8651\u5e74\u9f84\u3001\u6027\u522b\u3001\u884c\u4e3a\u7b49\u591a\u91cd\u5f02\u8d28\u6027\u3002<\/p>\n<\/li>\n<li>\n<p>\u57fa\u4e8e\u4e2a\u4f53\u7684ODE\u6a21\u578b&#xff1a;\u6bcf\u4e2a\u4e2a\u4f53\u6709\u81ea\u5df1\u7684\u72b6\u6001\u65b9\u7a0b&#xff0c;\u901a\u8fc7\u63a5\u89e6\u7f51\u7edc\u8026\u5408\u3002<\/p>\n<\/li>\n<h5>6.3.4 \u6570\u636e\u540c\u5316\u4e0e\u5b9e\u65f6\u9884\u6d4b<\/h5>\n<li>\n<p>\u5361\u5c14\u66fc\u6ee4\u6ce2&#xff1a;\u7ed3\u5408\u6a21\u578b\u4e0e\u5b9e\u65f6\u6570\u636e&#xff0c;\u66f4\u65b0\u72b6\u6001\u4f30\u8ba1\u548c\u53c2\u6570\u3002<\/p>\n<\/li>\n<li>\n<p>\u7c92\u5b50\u6ee4\u6ce2&#xff1a;\u5904\u7406\u975e\u7ebf\u6027\u975e\u9ad8\u65af\u60c5\u51b5\u3002<\/p>\n<\/li>\n<li>\n<p>\u673a\u5668\u5b66\u4e60\u589e\u5f3a&#xff1a;\u7528\u795e\u7ecf\u7f51\u7edc\u5b66\u4e60ODE\u53f3\u7aef\u51fd\u6570\u6216\u6821\u6b63\u6a21\u578b\u8bef\u5dee\u3002<\/p>\n<\/li>\n<h5>6.3.5 \u884c\u4e3a\u52a8\u529b\u5b66\u8026\u5408<\/h5>\n<li>\n<p>\u98ce\u9669\u611f\u77e5\u4e0e\u884c\u4e3a\u6539\u53d8&#xff1a;\u611f\u67d3\u7387\u03b2\u03b2\u4f9d\u8d56\u4e8e\u98ce\u9669\u611f\u77e5R(t)R(t)<\/p>\n<p> \u03b2(t)&#061;\u03b20\u22c5exp\u2061(\u2212\u03b1R(t))\u03b2(t)&#061;\u03b20\u200b\u22c5exp(\u2212\u03b1R(t))<\/li>\n<li>\n<p>\u4fe1\u606f\u4f20\u64ad\u4e0e\u75be\u75c5\u4f20\u64ad\u8026\u5408&#xff1a;\u5efa\u7acb\u4fe1\u606f-\u75be\u75c5\u534f\u540c\u6f14\u5316\u6a21\u578b\u3002<\/p>\n<\/li>\n<li>\n<p>\u6e38\u620f\u7406\u8bba\u6846\u67b6&#xff1a;\u4e2a\u4f53\u57fa\u4e8e\u6210\u672c\u548c\u6536\u76ca\u51b3\u7b56\u662f\u5426\u91c7\u53d6\u9632\u62a4\u63aa\u65bd\u3002<\/p>\n<\/li>\n<h4>6.4 \u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u4e2d\u7684\u5e94\u7528\u5efa\u8bae<\/h4>\n<h5>6.4.1 \u6a21\u578b\u9009\u62e9\u7b56\u7565<\/h5>\n<li>\n<p>\u4ece\u7b80\u5355\u5f00\u59cb&#xff1a;\u5148\u5efa\u7acb\u57fa\u672cODE\u6a21\u578b&#xff0c;\u786e\u4fdd\u7406\u89e3\u6838\u5fc3\u52a8\u529b\u5b66\u3002<\/p>\n<\/li>\n<li>\n<p>\u9010\u6b65\u590d\u6742\u5316&#xff1a;\u6839\u636e\u95ee\u9898\u9700\u8981&#xff0c;\u9010\u6b65\u6dfb\u52a0\u590d\u6742\u6027&#xff08;\u5e74\u9f84\u7ed3\u6784\u3001\u7a7a\u95f4\u3001\u968f\u673a\u6027\u7b49&#xff09;\u3002<\/p>\n<\/li>\n<li>\n<p>\u6a21\u578b\u6bd4\u8f83&#xff1a;\u4f7f\u7528AIC\/BIC\u51c6\u5219\u6bd4\u8f83\u4e0d\u540c\u590d\u6742\u5ea6\u6a21\u578b\u7684\u62df\u5408\u4f18\u5ea6\u3002<\/p>\n<\/li>\n<li>\n<p>\u654f\u611f\u6027\u5206\u6790&#xff1a;\u8bc6\u522b\u5173\u952e\u53c2\u6570\u548c\u5047\u8bbe&#xff0c;\u6307\u5bfc\u6570\u636e\u6536\u96c6\u548c\u6a21\u578b\u6539\u8fdb\u3002<\/p>\n<\/li>\n<h5>6.4.2 \u5e38\u89c1\u9677\u9631\u4e0e\u907f\u514d\u65b9\u6cd5<\/h5>\n<li>\n<p>\u8fc7\u5ea6\u53c2\u6570\u5316&#xff1a;\u907f\u514d\u53c2\u6570\u591a\u4e8e\u6570\u636e\u6240\u80fd\u652f\u6301&#xff0c;\u4f7f\u7528\u6b63\u5219\u5316\u6216\u8d1d\u53f6\u65af\u65b9\u6cd5\u3002<\/p>\n<\/li>\n<li>\n<p>\u5ffd\u7565\u6a21\u578b\u9a8c\u8bc1&#xff1a;\u5fc5\u987b\u7528\u672a\u53c2\u4e0e\u62df\u5408\u7684\u6570\u636e\u9a8c\u8bc1\u6a21\u578b\u9884\u6d4b\u80fd\u529b\u3002<\/p>\n<\/li>\n<li>\n<p>\u8bef\u89e3\u56e0\u679c\u5173\u7cfb&#xff1a;\u76f8\u5173\u6027\u4e0d\u7b49\u4e8e\u56e0\u679c\u5173\u7cfb&#xff0c;\u8c28\u614e\u89e3\u91ca\u6a21\u578b\u7ed3\u679c\u3002<\/p>\n<\/li>\n<li>\n<p>\u5ffd\u89c6\u4e0d\u786e\u5b9a\u6027&#xff1a;\u62a5\u544a\u53c2\u6570\u4f30\u8ba1\u7684\u7f6e\u4fe1\u533a\u95f4\u548c\u9884\u6d4b\u7684\u4e0d\u786e\u5b9a\u6027\u8303\u56f4\u3002<\/p>\n<\/li>\n<h5>6.4.3 \u7ed3\u679c\u5448\u73b0\u6280\u5de7<\/h5>\n<li>\n<p>\u53ef\u89c6\u5316&#xff1a;\u65f6\u95f4\u5e8f\u5217\u56fe\u3001\u76f8\u5e73\u9762\u56fe\u3001\u70ed\u56fe\u7b49\u591a\u89d2\u5ea6\u5c55\u793a\u7ed3\u679c\u3002<\/p>\n<\/li>\n<li>\n<p>\u5173\u952e\u6307\u6807&#xff1a;\u63d0\u70bc3-5\u4e2a\u6838\u5fc3\u6307\u6807&#xff08;\u5982R0\u3001\u5cf0\u503c\u65f6\u95f4\u3001\u6700\u7ec8\u89c4\u6a21\u7b49&#xff09;\u3002<\/p>\n<\/li>\n<li>\n<p>\u60c5\u666f\u5bf9\u6bd4&#xff1a;\u6e05\u6670\u5c55\u793a\u4e0d\u540c\u5e72\u9884\u63aa\u65bd\u7684\u6548\u679c\u5dee\u5f02\u3002<\/p>\n<\/li>\n<li>\n<p>\u7a33\u5065\u6027\u5206\u6790&#xff1a;\u5c55\u793a\u6a21\u578b\u5bf9\u5047\u8bbe\u548c\u53c2\u6570\u53d8\u5316\u7684\u7a33\u5065\u6027\u3002<\/p>\n<\/li>\n<h4>6.5 \u672a\u6765\u5c55\u671b<\/h4>\n<p>\u968f\u7740\u8ba1\u7b97\u80fd\u529b\u63d0\u5347\u548c\u6570\u636e availability \u589e\u52a0&#xff0c;ODE\u5efa\u6a21\u6b63\u671d\u7740\u4ee5\u4e0b\u65b9\u5411\u53d1\u5c55&#xff1a;<\/p>\n<li>\n<p>\u9ad8\u7ef4\u4e0e\u591a\u5c3a\u5ea6\u6574\u5408&#xff1a;\u7ed3\u5408\u5206\u5b50\u3001\u4e2a\u4f53\u3001\u7fa4\u4f53\u548c\u79cd\u7fa4\u591a\u5c3a\u5ea6\u8fc7\u7a0b\u3002<\/p>\n<\/li>\n<li>\n<p>\u5b9e\u65f6\u81ea\u9002\u5e94\u5efa\u6a21&#xff1a;\u57fa\u4e8e\u6d41\u6570\u636e\u81ea\u52a8\u66f4\u65b0\u6a21\u578b\u53c2\u6570\u548c\u7ed3\u6784\u3002<\/p>\n<\/li>\n<li>\n<p>\u6570\u5b57\u5b6a\u751f&#xff1a;\u4e3a\u771f\u5b9e\u7cfb\u7edf\u521b\u5efa\u9ad8\u4fdd\u771f\u865a\u62df\u526f\u672c&#xff0c;\u7528\u4e8e\u9884\u6d4b\u548c\u4f18\u5316\u3002<\/p>\n<\/li>\n<li>\n<p>\u4eba\u5de5\u667a\u80fd\u878d\u5408&#xff1a;\u6df1\u5ea6\u5b66\u4e60\u4e0e\u673a\u7406\u6a21\u578b\u7ed3\u5408&#xff0c;\u63d0\u5347\u9884\u6d4b\u7cbe\u5ea6\u548c\u53ef\u89e3\u91ca\u6027\u3002<\/p>\n<\/li>\n<li>\n<p>\u51b3\u7b56\u652f\u6301\u7cfb\u7edf&#xff1a;\u5c06\u6a21\u578b\u5d4c\u5165\u653f\u7b56\u5236\u5b9a\u6d41\u7a0b&#xff0c;\u63d0\u4f9b\u5b9e\u65f6\u51b3\u7b56\u652f\u6301\u3002<\/p>\n<\/li>\n<p>\u5728\u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u4e2d&#xff0c;ODE\u4ecd\u7136\u662f\u89e3\u51b3\u52a8\u6001\u7cfb\u7edf\u95ee\u9898\u7684\u6838\u5fc3\u5de5\u5177\u3002\u638c\u63e1ODE\u5efa\u6a21\u4e0d\u4ec5\u9700\u8981\u6570\u5b66\u548c\u7f16\u7a0b\u6280\u80fd&#xff0c;\u66f4\u9700\u8981\u6df1\u523b\u7406\u89e3\u95ee\u9898\u80cc\u666f\u3001\u5408\u7406\u7b80\u5316\u5047\u8bbe\u3001\u4e25\u8c28\u5206\u6790\u9a8c\u8bc1\u7684\u80fd\u529b\u3002\u968f\u7740\u7ade\u8d5b\u95ee\u9898\u8d8a\u6765\u8d8a\u590d\u6742\u548c\u73b0\u5b9e&#xff0c;ODE\u4e0e\u5176\u4ed6\u65b9\u6cd5\u7684\u7ed3\u5408\u5c06\u6210\u4e3a\u8d8b\u52bf&#xff0c;\u8981\u6c42\u5efa\u6a21\u8005\u5177\u5907\u8de8\u5b66\u79d1\u601d\u7ef4\u548c\u7efc\u5408\u5e94\u7528\u80fd\u529b\u3002<\/p>\n<hr \/>\n<h3>\u7ed3\u8bed<\/h3>\n<p>\u5e38\u5fae\u5206\u65b9\u7a0b\u4f5c\u4e3a\u63cf\u8ff0\u8fde\u7eed\u52a8\u6001\u7cfb\u7edf\u7684\u6570\u5b66\u8bed\u8a00&#xff0c;\u5728\u4eba\u53e3\u589e\u957f\u3001\u4f20\u67d3\u75c5\u4f20\u64ad\u7b49\u9886\u57df\u7684\u6570\u5b66\u5efa\u6a21\u4e2d\u5c55\u73b0\u4e86\u5f3a\u5927\u80fd\u529b\u3002\u4ece\u7b80\u5355\u7684\u6307\u6570\u589e\u957f\u6a21\u578b\u5230\u590d\u6742\u7684\u5e74\u9f84\u7ed3\u6784\u4f20\u67d3\u75c5\u6a21\u578b&#xff0c;ODE\u6846\u67b6\u63d0\u4f9b\u4e86\u4ece\u7406\u8bba\u5206\u6790\u5230\u6570\u503c\u6a21\u62df\u7684\u5b8c\u6574\u5de5\u5177\u94fe\u3002<\/p>\n<p>\u5728\u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u4e2d&#xff0c;\u6210\u529f\u5e94\u7528ODE\u5efa\u6a21\u9700\u8981&#xff1a;1) \u51c6\u786e\u8bc6\u522b\u95ee\u9898\u672c\u8d28&#xff0c;\u9009\u62e9\u5408\u9002\u6a21\u578b\u6846\u67b6&#xff1b;2) \u5408\u7406\u7b80\u5316\u5047\u8bbe&#xff0c;\u5e73\u8861\u6a21\u578b\u590d\u6742\u6027\u4e0e\u53ef\u5904\u7406\u6027&#xff1b;3) \u4e25\u8c28\u7684\u53c2\u6570\u4f30\u8ba1\u4e0e\u6a21\u578b\u9a8c\u8bc1&#xff1b;4) \u5168\u9762\u7684\u7ed3\u679c\u5206\u6790\u4e0e\u89e3\u91ca&#xff1b;5) \u6e05\u6670\u7684\u7ed3\u679c\u5448\u73b0\u4e0e\u653f\u7b56\u5efa\u8bae\u3002<\/p>\n<p>\u968f\u7740\u5efa\u6a21\u95ee\u9898\u65e5\u76ca\u590d\u6742&#xff0c;\u5355\u7eafODE\u6a21\u578b\u7684\u5c40\u9650\u6027\u4e5f\u65e5\u76ca\u660e\u663e\u3002\u672a\u6765\u7684\u53d1\u5c55\u65b9\u5411\u662fODE\u4e0e\u7a7a\u95f4\u6a21\u578b\u3001\u968f\u673a\u8fc7\u7a0b\u3001\u7f51\u7edc\u79d1\u5b66\u3001\u673a\u5668\u5b66\u4e60\u7b49\u65b9\u6cd5\u7684\u6df1\u5ea6\u878d\u5408&#xff0c;\u4ee5\u66f4\u5168\u9762\u3001\u66f4\u51c6\u786e\u5730\u63cf\u8ff0\u73b0\u5b9e\u4e16\u754c\u7684\u590d\u6742\u52a8\u6001\u7cfb\u7edf\u3002<\/p>\n<p>\u65e0\u8bba\u6280\u672f\u5982\u4f55\u53d1\u5c55&#xff0c;ODE\u5efa\u6a21\u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e&#xff1a;\u5c06\u590d\u6742\u73b0\u5b9e\u95ee\u9898\u8f6c\u5316\u4e3a\u53ef\u5206\u6790\u7684\u6570\u5b66\u5f62\u5f0f&#xff0c;\u901a\u8fc7\u4e25\u8c28\u63a8\u7406\u83b7\u5f97\u6df1\u523b\u6d1e\u89c1&#xff0c;\u4e3a\u79d1\u5b66\u51b3\u7b56\u63d0\u4f9b\u91cf\u5316\u4f9d\u636e\u3002\u8fd9\u6b63\u662f\u6570\u5b66\u5efa\u6a21\u7684\u7cbe\u9ad3\u6240\u5728&#xff0c;\u4e5f\u662f\u6570\u5b66\u5efa\u6a21\u7ade\u8d5b\u5e0c\u671b\u57f9\u517b\u7684\u6838\u5fc3\u80fd\u529b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2026\u7f8e\u8d5b\u671f\u95f4\u4f1a\u6301\u7eed\u66f4\u65b0\u76f8\u5173\u5185\u5bb9&#xff0c;\u6240\u6709\u5185\u5bb9\u4f1a\u53d1\u5e03\u5230\u4e13\u680f\u5185&#xff0c;\u4f1a\u7ed3\u5408\u6700\u65b0\u7684chatgpt\u53d1\u5e03&#xff0c;\u53ea\u9700\u8ba2\u9605\u4e00\u6b21&#xff0c;\u8d5b\u540e\u4e24\u5929\u534a\u4ef7&#xff0c;\u5185\u5bb9\u8fbe\u4e0d\u5230\u6240\u6709\u4eba\u9884\u671f&#xff0c;\u8bf7\u52ff\u76f2\u76ee\u8ba2\u9605&#xff01;&#xff01;&#xff01;\u65e0\u8bba\u6587&#xff01;\u65e0\u8bba\u6587&#xff01;&#xff01;&#xff01; \u6458\u8981<br \/>\n\u5e38\u5fae\u5206\u65b9\u7a0b&#xff08;Ordinary Differential Equations, ODEs&amp;#xf<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6496,7078,7079,7077,423,2865,1482],"topic":[],"class_list":["post-66899","post","type-post","status-publish","format-standard","hentry","category-server","tag-6496","tag-7078","tag-7079","tag-7077","tag-423","tag-2865","tag-1482"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/66899.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"2026\u7f8e\u8d5b\u671f\u95f4\u4f1a\u6301\u7eed\u66f4\u65b0\u76f8\u5173\u5185\u5bb9&#xff0c;\u6240\u6709\u5185\u5bb9\u4f1a\u53d1\u5e03\u5230\u4e13\u680f\u5185&#xff0c;\u4f1a\u7ed3\u5408\u6700\u65b0\u7684chatgpt\u53d1\u5e03&#xff0c;\u53ea\u9700\u8ba2\u9605\u4e00\u6b21&#xff0c;\u8d5b\u540e\u4e24\u5929\u534a\u4ef7&#xff0c;\u5185\u5bb9\u8fbe\u4e0d\u5230\u6240\u6709\u4eba\u9884\u671f&#xff0c;\u8bf7\u52ff\u76f2\u76ee\u8ba2\u9605&#xff01;&#xff01;&#xff01;\u65e0\u8bba\u6587&#xff01;\u65e0\u8bba\u6587&#xff01;&#xff01;&#xff01; \u6458\u8981 \u5e38\u5fae\u5206\u65b9\u7a0b&#xff08;Ordinary Differential Equations, ODEs&amp;#xf\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/66899.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-27T12:17:36+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/66899.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/66899.html\",\"name\":\"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-01-27T12:17:36+00:00\",\"dateModified\":\"2026-01-27T12:17:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/66899.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/66899.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/66899.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/66899.html","og_locale":"zh_CN","og_type":"article","og_title":"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"2026\u7f8e\u8d5b\u671f\u95f4\u4f1a\u6301\u7eed\u66f4\u65b0\u76f8\u5173\u5185\u5bb9&#xff0c;\u6240\u6709\u5185\u5bb9\u4f1a\u53d1\u5e03\u5230\u4e13\u680f\u5185&#xff0c;\u4f1a\u7ed3\u5408\u6700\u65b0\u7684chatgpt\u53d1\u5e03&#xff0c;\u53ea\u9700\u8ba2\u9605\u4e00\u6b21&#xff0c;\u8d5b\u540e\u4e24\u5929\u534a\u4ef7&#xff0c;\u5185\u5bb9\u8fbe\u4e0d\u5230\u6240\u6709\u4eba\u9884\u671f&#xff0c;\u8bf7\u52ff\u76f2\u76ee\u8ba2\u9605&#xff01;&#xff01;&#xff01;\u65e0\u8bba\u6587&#xff01;\u65e0\u8bba\u6587&#xff01;&#xff01;&#xff01; \u6458\u8981 \u5e38\u5fae\u5206\u65b9\u7a0b&#xff08;Ordinary Differential Equations, ODEs&amp;#xf","og_url":"https:\/\/www.wsisp.com\/helps\/66899.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-01-27T12:17:36+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"24 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/66899.html","url":"https:\/\/www.wsisp.com\/helps\/66899.html","name":"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-01-27T12:17:36+00:00","dateModified":"2026-01-27T12:17:36+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/66899.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/66899.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/66899.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"2026\u5e74\u6570\u5b66\u5efa\u6a21\u7f8e\u8d5b \u5e38\u7528\u6a21\u578b\u7b97\u6cd5 \u5e38\u5fae\u5206\u65b9\u7a0b\u5728\u6570\u5b66\u5efa\u6a21\u4e2d\u7684\u5e94\u7528\uff1a\u4ece\u4eba\u53e3\u589e\u957f\u5230\u4f20\u67d3\u75c5\u52a8\u529b\u5b66"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/66899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=66899"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/66899\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=66899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=66899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=66899"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=66899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}