matlab求差分方程模型.pptx
文本预览下载声明
一阶线性常系数差分方程;Matlab实现 Xn = (1+r)^n X0;2. 建立M脚本文件
在M文件编辑器中输入:
X0=100;
r=0.0194;
n=20;
Xn=(1+r)^n*X0
单击工具栏中的保存按钮,文件名sqh1.m保存以后选择Debug:run菜单,则会在指令窗口输出:
Xn =146.8563
;3.建立M函数文件
格式:
function 输出变量=函数名称(输入变量)
例如:输入
function Xn=sqh(n,r)
X0=100;
Xn=(1+r)^n*X0;
end
单击工具栏中的保存按钮,文件名sqh2.m保存以后在指令窗口调用sqh2函数,输入:
Xn=sqh2(20,0.0194)
输出同上。; function Xn=sqh(n,r,X0)
Xn=(1+r)^n*X0;
end
单击工具栏中的保存按钮,文件名sqh3.m 保存以后在指令窗口调用sqh3函数,输入:
Xn=sqh3(20,0.0194,100)
输出同上。
;Matlab实现 Xk+1 =(1+r)Xk ;xn =
Columns 1 through 6
100.0000 101.9400 103.9176 105.9336 107.9888 110.0837
Columns 7 through 12
112.2194 114.3964 116.6157 118.8780 121.1843 123.5353
Columns 13 through 18
125.9318 128.3749 130.8654 133.4042 135.9922 138.6305
Columns 19 through 21
141.3199 144.0615 146.8563;利用plot 绘图观察数量变化趋势;在同一坐标系下画图
k=0:20; %一个行向量
y1= sqh4(20, 0.0194);
y2= sqh4(20, -0.0324);
y3= sqh4(20, -0.0382);
plot(k,y1,k,y2,:,k,y3,r)
;人工孵化是挽救濒危物种的措施之一,如果每年孵化a只鹤放入保护区,观察在自然条件下沙丘鹤的数量如何变化
Xk+1=(1+r)Xk +a
; 设在中等自然条件下每年孵化5只鹤放入保护区.
k=0:20; %一个行向量
y=rgsqh(20,-0.0324,5);
plot(k,y)
;每年放养多少只会保证物种数量的稳定?;高阶线性常系数差分方程——一年生植物的繁殖; 记一棵植物春季产种的平均数为c,种子能活过一个冬天的(1岁种子)比例为b,活过一个冬天没有发芽又活过一个冬天的(2岁种子)比例仍为b,1岁种子发芽率a1,2岁种子发芽率a2。
设c,a1,a2固定,b是变量,考察能一???繁殖的条件
记第k年植物数量为Xk,显然Xk与Xk-1,Xk-2有关,由Xk-1决定的部分是 a1bcXk-1,由Xk-2决定的部分是 a2b(1-a1)bcXk-2
Xk= a1bcXk-1 + a2b(1-a1)bcXk-2 ;实际上,就是Xk= pXk-1 + qXk-2 我们需要知道x0,a1,a2,c, 考察b不同时,种子繁殖的情况。在这里假设
X0=100,a1=0.5,a2=0.25,c=10,b=0.18~0.20
这样可以用matlab计算了
;Xk= a1bcXk-1 + a2b(1-a1)bcXk-2; k=0:20;
y1=zwfz(100,21,0.18);
y2=zwfz(100,21,0.19);
y3=zwfz(100,21,0.20);
plot(k,y1,k,y2,:,k,y3,r);结果分析:Xk+pXk-1 + qXk-2=0 (1) x1+px0=0 (2)
显示全部