数学建模的稳定性模型详解

暗语不容易概括,老铁们来三连:点赞、关注、评论
作者:【左手没有明天】
原创不易,转载请联系作者并注明出处
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

对象仍然是一个动态过程,建模的目的是研究该过程在足够长的时间后的变化趋势——平衡状态是否稳定。

使用微分方程稳定性理论来研究平衡状态的稳定性,而不是求解微分方程。

内容

渔业持续收成

产量模型

假设

造型

一阶微分方程的平衡点及其稳定性

效益模型

过度捕捞

渔业持续收成

matlab验证

军备竞赛

目的

假设

造型

线性常系数微分方程组

模型的定性解释

物种间的竞争

模型假设

建筑模型

模型分析​

线性常系数微分方程组

判断稳定性的方法——直接法

平衡稳定性分析

种群竞争模型的平衡点与稳定性

平衡点稳定性的相位轨迹分析

matlab验证

物种的相互依存

模型假设

建筑模型

种群依赖模型的平衡与稳定性

平衡点P2稳定性的相轨线

matlab验证

捕食者模型(丛林人口)

食饵-捕食者模型(Volterra)

Volterra模型的平衡点及其稳定性

MATLAB求微分方程数值解

用相轨线分析P(d/b, r/a)点稳定性

模型解释

食饵-捕食者模型(Volterra)的缺点与改进

matlab验证

两组模型的几种形式

发育迟缓模型的微分形式

模型分析

离散型迟缓生长模型的平衡点与稳定性

倍周期收敛——x*不稳定情况的进一步讨论

混乱

matlab验证

渔业持续收成

背景

  • 可再生资源(渔业、林业等)和不可再生资源(采矿等)
  • 可再生资源要适度开发——在持续稳定生产的前提下,实现产量最大化或效益最大化

问题与分析

  • 在稳定捕捞的情况下,如何控制捕捞以最大限度地提高产量或效益?
  • 如果使渔获量与自然增加量相等,则渔业中的鱼量保持不变,渔获量稳定

产量模型

x(t) ~ 渔场鱼量

假设

  • 无捕捞时鱼的自然增长服从 Logistic规律.

数学建模的稳定性模型详解

r~固有增长率, N~最大鱼量

  • 单位时间内捕获的鱼量与渔业中的鱼量成正比。

数学建模的稳定性模型详解

造型

数学建模的稳定性模型详解

渔业在捕捞条件下有足够的鱼量

数学建模的稳定性模型详解

不需要求解x(t),只需知道x(t)稳定的条件.

一阶微分方程的平衡点及其稳定性

数学建模的稳定性模型详解一阶非线性自治(右端不含t)方程

数学建模的稳定性模型详解

数学建模的稳定性模型详解

设x(t)是方程的解,若从x0 某邻域的任一初值出发,都有数学建模的稳定性模型详解称x0是方程(1)的稳定平衡点.

直接法

数学建模的稳定性模型详解(1)的近似线性方程

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

图解法

在稳定捕捞的情况下,控制捕捞强度可使产量最大化。

数学建模的稳定性模型详解

效益模型

在捕捞量稳定的情况下,控制捕捞强度使效益最大化。

数学建模的稳定性模型详解

过度捕捞

数学建模的稳定性模型详解

数学建模的稳定性模型详解

渔业持续收成

在自然生长和捕鱼条件的合理假设下建模。

用平衡点稳定性分析确定渔场鱼量稳定条件,讨论产量、效益和捕捞过度3个模型.

matlab验证

渔业持续收获 – 产量建模

产量型号:

数学建模的稳定性模型详解

在,

  • x(t)为t时刻渔场中的鱼量。
  • r是固有增长率。
  • N是环境容许的最大鱼量。
  • E是捕捞强度,即单位时间捕捞率。
clear; clc;
%无捕捞条件下单位时间的增长量:f(x)=rx(1-x/N)
%捕捞条件下单位时间的捕捞量:h(x)=Ex
%F(x)=f(x)-h(x)=rx(1-x/N)-Ex
%捕捞情况下渔场鱼量满足的方程:x'(t)=F(x)
%满足F(x)=0的点x为方程的平衡点
%求方程的平衡点

syms r x N E; %定义符号变量
Fx=r*x*(1-x/N)-E*x; %创建符号表达式
x=solve(Fx,x) %求解F(x)=0(求根)

%得到两个平衡点,记为:
% x0= -N*(-r+E)/r  , x1= 0 

x0=x(2);
x1=x(1);%符号变量x的结构类型成为<2×1sym>

%求F(x)的微分F'(x)

syms x; %定义符号变量x的结构类型为<1×1sym>
dF=diff(Fx,'x'); %求导
dF=simple(dF) %简化符号表达式

%得 F'(x)= r-2*r*x/N-E 
%求F'(x0)并简化

dFx0=subs(dF,x,x0); %将x=x0代入符号表达式dF
dFx0=simple(dFx0) 

%得 F' (x0)= -r+E 
%求F' (x1)

dFx1=subs(dF,x,x1)

%得 F' (x1)= r-E 
%若 E<r,有F'(x0)<0,F'(x1)>0,故x0点稳定,x1点不稳定(根据平衡点稳定性的准则);
%若 E>r,则结果正好相反。
%在渔场鱼量稳定在x0的前提下(E<r),求E使持续产量h(x0)达到最大hm。
%通过分析(见教材p216图1),只需求x0*使f(x)达到最大,且hm=f(x0*)。

syms r x N
fx=r*x*(1-x/N); %fx=dF
df=diff(fx,'x');
x0=solve(df,x)

%得 x0*= 1/2*N 

hm=subs(fx,x,x0)

%得 hm= 1/4*r*N 
%又由 x0*=N(1-E/r),可得 E*= r/2 
%产量模型的结论是:
%将捕捞率控制在固有增长率的一半(E=r/2)时,能够获得最大的持续产量。

军备竞赛

目的

  • 描述两方(国家或国家集团)之间军备竞赛的过程。
  • 解释(预测)双方军备竞赛的结果。

假设

  • 1)由于相互不信任,一方军备越大,另一 方军备增加越快;
  • 2)由于经济实力限制,一方军备越大,对自己军备增长的制约越大;
  • 3)由于相互敌视或领土争端,每一方都存在增加军备的潜力.

进一步的假设

1)2)的作用为线性;3)的作用为常数.

造型

数学建模的稳定性模型详解

线性常系数微分方程组

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

模型的定性解释

数学建模的稳定性模型详解

数学建模的稳定性模型详解

物种间的竞争

自然环境中有两种物种,它们之间的关系:相互竞争;相互依存;强者掠夺弱者。

当两个种群为了相同的食物来源和生存空间而相互竞争时,共同的结果是竞争较小的种群灭绝,竞争激烈的种群达到环境允许的最大容量。

建立数学模型来描述两个种群之间的竞争过程,并分析产生这种结果的条件。

模型假设

数学建模的稳定性模型详解

建筑模型

数学建模的稳定性模型详解

模型分析数学建模的稳定性模型详解

线性常系数微分方程组

数学建模的稳定性模型详解

数学建模的稳定性模型详解

判断稳定性的方法——直接法

数学建模的稳定性模型详解

数学建模的稳定性模型详解

平衡稳定性分析

数学建模的稳定性模型详解

种群竞争模型的平衡点与稳定性

数学建模的稳定性模型详解

平衡点稳定性的相位轨迹分析

数学建模的稳定性模型详解数学建模的稳定性模型详解

数学建模的稳定性模型详解

matlab验证

模型:

数学建模的稳定性模型详解

在,

  • x 1 (
    t ),
    x 2 (
    t)分别是甲乙两个种群的数量。
  • r 1 ,
    r 2 是它们的固有增长率。
  • N 1 ,
    N 2 是它们的最大容量。
  • σ 1 :单位数量乙(相对
    N2)消耗的供养甲的食物量为单位数量甲(相对
    N1)消耗的供养甲的食物量的
    σ 1 倍。对
    σ 2 可作相应解释。
clear; clc;
%甲乙两个种群满足的增长方程:
% x1'(t)=f(x1,x2)=r1*x1*(1-x1/N1-k1*x2/N2)
% x2'(t)=g(x1,x2)=r2*x2*(1-k2*x1/N1-x2/N2)
%求方程的平衡点,即解代数方程组)
%  f(x1,x2)=0
%  g(x1,x2)=0

%编写出该程序段。
syms x1 x2 r1 r2 N1 N2 k1 k2;
f=r1*x1*(1-x1/N1-k1*x2/N2);
g=r2*x2*(1-k2*x1/N1-x2/N2);
[x1,x2]=solve(f,g,x1,x2);
P=[x1([2,3,4,1]),x2([2,3,4,1])];

x1x2=[x1,x2]  %显示结果
disp(' '); P
%调整位置后的4个平衡点:
% P(1,:)=P1(N1,0)
% P(2,:)=P2(0,N2)
% P(3,:)=P3(N1*(-1+k1)/(-1+k2*k1),N2*(-1+k2)/(-1+k2*k1))
% P(4,:)=P4(0,0)
%平衡点位于第一象限才有意义,故要求P3:k1, k2同小于1,或同大于1。
%判断平衡点的稳定性
syms x1 x2; %重新定义
fx1=diff(f,'x1');  fx2=diff(f,'x2');
gx1=diff(g,'x1');  gx2=diff(g,'x2');
disp(' '); A=[fx1,fx2;gx1,gx2] %显示结果
p=subs(-(fx1+gx2),{x1,x2},{P(:,1),P(:,2)}); %替换
p=simple(p);%简化符号表达式p 
q=subs(det(A),{x1,x2},{P(:,1),P(:,2)});
q=simple(q);
disp(' '); [P p q] %显示结果

数学建模的稳定性模型详解

物种的相互依存

在自然界中,同一环境中的两个种群是相互依存、共生的。

  • 授粉植物和授粉昆虫。

以植物花粉为食的昆虫不能独立于植物而生存,昆虫的授粉可以提高植物的生长速度。

  • 人类和圈养牲畜。

种群 A 可以单独生存,但种群 B 不能单独生存;当A和B生活在一起时,他们互相提供食物,促进成长。

A组和B组之间存在三种相互依赖的形式

  • 1) 甲可以独自生存,乙不能独自生存;甲乙一起生存时相互提供食物、促进增长。
  • 2) 甲乙均可以独自生存;甲乙一起生存 时相互提供食物、促进增长。
  • 3) 甲乙均不能独自生存;甲乙一起生存时相互提供食物、促进增长。

模型假设

  • 甲可以独自生存,数量变化服从Logistic规律; 甲乙一起生存时乙为甲提供食物、促进增长。
  • 乙不能独自生存;甲乙一起生存时甲为乙提供食物、促进增长;乙的增长又受到本身的阻滞作用 (服从Logistic规律)。

建筑模型

数学建模的稳定性模型详解

种群依赖模型的平衡与稳定性

数学建模的稳定性模型详解

平衡点P2稳定性的相轨线

数学建模的稳定性模型详解

数学建模的稳定性模型详解

matlab验证

模型:

数学建模的稳定性模型详解

在,

  • x 1 (
    t ),
    x 2 (
    t)分别是甲乙两个种群的数量。
  • r 1 ,
    r 2 是它们的固有增长率。
  • N 1 ,
    N 2 是它们的最大容量。
  • σ 1 :单位数量乙(相对
    N2)提供的供养甲的食物量为单位数量甲(相对
    N1)消耗的供养甲的食物量的
    σ 1 倍。对
    σ 2 可作相应解释。
clear; clc;
syms x1 x2 r1 r2 N1 N2 k1 k2;
f=r1*x1*(1-x1/N1+k1*x2/N2);
g=r2*x2*(-1+k2*x1/N1-x2/N2);
[x1,x2]=solve(f,g);
P=[x1([2,4,1,3]),x2([2,4,1,3])];

syms x1 x2; %重新定义
fx1=diff(f,'x1');  fx2=diff(f,'x2');
gx1=diff(g,'x1');  gx2=diff(g,'x2');
A=[fx1,fx2;gx1,gx2];
p=subs(-(fx1+gx2),{x1,x2},{P(:,1),P(:,2)}); %替换
p=simple(p);%简化符号表达式p 
q=subs(det(A),{x1,x2},{P(:,1),P(:,2)});
q=simple(q);
[P p q] %显示结果

数学建模的稳定性模型详解

捕食者模型(丛林人口)

种群 A 依靠丰富的自然资源生存,种群 B 以捕食 A 为生,形成捕食者系统,如食用鱼和鲨鱼、美洲兔和猞猁、害虫和益虫。

模型的历史背景 – 第一次世界大战期间地中海渔业捕捞量减少(食用鱼和鲨鱼同时捕获),但鲨鱼的比例增加,为什么?

食饵-捕食者模型(Volterra)

数学建模的稳定性模型详解

Volterra模型的平衡点及其稳定性

数学建模的稳定性模型详解

MATLAB求微分方程数值解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

用相轨线分析P(d/b, r/a)点稳定性

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

模型解释

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

食饵-捕食者模型(Volterra)的缺点与改进

数学建模的稳定性模型详解

数学建模的稳定性模型详解

matlab验证

函数M文件:

function xdot=shier(t,x)
r=1; d=0.5; a=0.1 ; b=0.02 ;
xdot=[(r-a*x(2)).*x(1); (-d+b*x(1)).*x(2)];

命令M文件:

ts=0 :0.1 :15;
x0=[25, 2];
[t,x]=ode45('shier',ts,x0); [t,x],
plot(t,x), grid, gtext('x(t)'), gtext('y(t)'), %运行中在图上标注
pause, 
plot(x(:,1),x(:,2)), grid, 

x(t),y(t)图形:

数学建模的稳定性模型详解

相轨线y(x)图形:

数学建模的稳定性模型详解

两组模型的几种形式

数学建模的稳定性模型详解

发育迟缓模型的微分形式

模型分析

数学建模的稳定性模型详解

离散型迟缓生长模型的平衡点与稳定性

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

倍周期收敛——x*不稳定情况的进一步讨论

数学建模的稳定性模型详解

数学建模的稳定性模型详解数学建模的稳定性模型详解

混乱

数学建模的稳定性模型详解

数学建模的稳定性模型详解

matlab验证

取 x 0 =0.2,分别取 b = 1.7, 2.6, 3.3, 3.45, 3.55, 3.57,对方程

数学建模的稳定性模型详解

计算出x1 ~x100的值,显示x81 ~x100的值。观察收敛与否。

clc; clear all; format compact;
b=[1.7,2.6,3.3,3.45,3.55,3.57];
x=zeros(100,length(b));
x0=0.2; %初值
x(1,:)=b*x0*(1-x0);
for k=1:99
    x(k+1,:)=b.*x(k,:).*(1-x(k,:));
end
K=(81:100)’; %将取81~100行
disp(num2str([NaN,b; K,x(K,:)],4));%取4位有效数字,NaN表示不是数值

数学建模的稳定性模型详解

clear; clc; close all;
f=@(x,b)b.*x.*(1-x); %定义f是函数的句柄,函数b*x*(1-x)含两个变量x,b
b=[1.7,2.6,3.3,3.45,3.55,3.57];
x=ones(101,length(b));
x(1,:)=0.2;
for k=1:100
    x(k+1,:)=f(x(k,:),b);
end
for n=1:length(b)
    figure(n);%指定图形窗口figure n
    subplot(1,2,1);%开始迭代的图形
    fplot(@(x)[f(x,b(n)),x],[0 1 0 1]);%x是自变量,画曲线y=bx(1-x)和直线y=x
    axis square; hold on;
    x0=x(1,n); y0=0; %画迭代轨迹线
    for k=2:5
        x1=x(k,n); y1=x(k,n);
        plot([x0+i*y0, x0+i*y1, x1+i*y1], 'r');%实部为横坐标,虚部为纵坐标
        x0=x1; y0=y1;
    end
    title(['图解法:开始迭代的图形(b=' num2str(b(n)) ')']);
    hold off;
 
    subplot(1,2,2); %最后迭代的图形
    fplot(@(x)[f(x,b(n)),x],[0 1 0 1]);
    axis square; hold on;
    xy(1:2:41)=x(81:101,n)+i*x(81:101,n);%尽量不用循环
    xy(2:2:40)=x(81:100,n)+i*x(82:101,n);
    plot(xy,'r');
    title(['图解法:最后迭代的图形(b=' num2str(b(n)) ')']);
    hold off;
end

运行程序并给出结果(对应不同的b值)

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

数学建模的稳定性模型详解

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年3月15日 下午12:01
下一篇 2022年3月15日 下午12:37

相关推荐