- 3
- 0
- 约2.06千字
- 约 49页
- 2019-03-06 发布于江苏
- 举报
用Matlab求解差分方程问题;差分方程是在离散时段上描述现实世界中变化过程的数学模型;污水处理厂每天可将处理池的污水浓度降低一个固定比例q,问多长时间才能将污水浓度降低一半?
记第k天的污水浓度为ck,则第k+1天的污水浓度为 ck+1=(1-q)ck,k=0,1,2,····
从k=0开始递推n次得
以cn=c0/2代入即求解。;一阶线性常系数差分方程;模型建立;Matlab实现;;利用plot 绘图观察数量变化趋势; plot(k,y1,k,y2,k,y3) 在同一坐标系下画图
;;;k=(0:20) ; %一个行向量
y1=(20,-0.0324,5); 也是一个行向量
round( [ k ’, y 1 ’] ) 对k,y1四舍五入,但
是 不改变变量的值
plot( k , y1) k y1 是行向量列向量都可以
也可以观察200年的发展趋势,以及在较差条件下的发展趋势,也可以考察每年孵化数量变化的影响。;一阶线性常系数差分方程的解、平衡点及其稳定性;高阶线性常系数差分方程;一年生植物的繁殖;模型及其求解;Xk= a1bcXk-1 + a2b(1-a1)bcXk-2;Xk= a1bcXk-1 + a2b(1-a1)bcXk-2;;结果分析:Xk= pXk-1 + qXk-2 (1) x1+px0=0 (2) ;本例中,用待定系数的方法可以求出
b=0.18时,c1=95.64, c2=4.36 ,
这样
实际上,
植物能一直繁殖下去的条件是b0.191;线性常系数差分方程组;0.6;模型及其求解;用矩阵表示
用matlab编程,计算x(k),观察n年以后的3个城市的汽车数量变化情况
;function x=czqc(n)
A=[0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6];
x(:,1)=[200,200,200];
for k=1:n
x(:,k+1)=A*x(:,k);
end
如果直接看10年或者20年发展趋势,可以直接在命令窗
口(commond window)作,而不是必须编一个函数;A=[0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6];
n=10;
for k=1:n
x(:,1)=[200,200,200];
x(:,k+1)=A*x(:,k);
end
round(x);作图观察数量变化趋势;;直接输入x(:,1)的值即可;按年龄分组的种群增长;模型及其求解;注意:第k时段的第i年龄组活过来的,是第k+1时段的第i+1年龄组
Xi+1(k+1)=sixi(k) i=1,2,···,n-1, k=0,1,····
各年龄组在第k时段繁殖的数量和是第k+1时段的第1年龄组
X1(k+1)= k=0,1,····
记在时段k种群各年龄组的数量为
X(k)=[x1(k),x2(k),····,xn(k)]’;这样,有x(k+1)=Lx(k),k=0,1,····
给定在0时段,各年龄组的初始数量x(0)
就可以预测任意时段k,各年龄组的数量
设一种群分成5个年龄组,
繁殖率b1=0,b2=0.2,,b3=1.8,b4=0.8,b5=0.2
存活率s1=0.5,s2=0.8,s3=0.8,s4=0.1
各年龄组现有数量都是100只,
用matlab计算x(k);b=[0,0.2,1.8,0.8,0.2];
s=diag([0.5,0.8,0.8,0.1]);
L=[b;s,zeros(4,1)];
x(:,1)=100*ones(5,1);
n=30;
for k=1:n
x(:,k+1)=L*x(:,k);
end
round(x)
k=0:30;
subplot(1,2,1),plot(k,x),grid
;将x(k)归一化后的向量记做x’(k),称为种群按年龄组的分布向量,即各年龄组在k时段在数量上占总数的百分比。
y=diag(1./sum(x)) ;% sum(x)对列求和
Z=x*y
Subplot(1,2,2),plot(k,z),grid
结果分
原创力文档

文档评论(0)