预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用Matlab求解差分方程问题一、一阶线性常系数差分方程模型建立Matlab实现利用plot绘图观察数量变化趋势plot(k,y1,k,y2,k,y3)在同一坐标系下画图 k=(0:20);%一个行向量 y1=(20,-0.0324,5);也是一个行向量 round([k’,y1’])对k,y1四舍五入,但 是不改变变量的值 plot(k,y1)ky1是行向量列向量都可以 也可以观察200年的发展趋势,以及在较差条件下的发展趋势,也可以考察每年孵化数量变化的影响。一阶线性常系数差分方程的解、平衡点及其稳定性高阶线性常系数差分方程一年生植物的繁殖模型及其求解Xk=a1bcXk-1+a2b(1-a1)bcXk-2Xk=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, 这样 实际上, 植物能一直繁殖下去的条件是b>0.191线性常系数差分方程组0.6模型及其求解用矩阵表示 用matlab编程,计算x(k),观察n年以后的3个城市的汽车数量变化情况 functionx=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]'; fork=1:n x(:,k+1)=A*x(:,k); end 如果直接看10年或者20年发展趋势,可以直接在命令窗 口(commondwindow)作,而不是必须编一个函数A=[0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6]; >>n=10; >>fork=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; >>fork=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 结果分析:时间充分长以后,种群按年龄组的分布x’(k)趋向稳定。