用Matlab求解差分方程问题.ppt
《用Matlab求解差分方程问题.ppt》由会员分享,可在线阅读,更多相关《用Matlab求解差分方程问题.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用Matlab求解差分方程问题 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一、一阶线性常系数差分方程一、一阶线性常系数差分方程濒濒危物种的自然演危物种的自然演变变和人工孵化和人工孵化问题问题 Florida沙丘沙丘鹤鹤属于属于濒濒危物种,它在危物种,它在较较好好自然自然环环境下,年均增境下,年均增长长率率仅为仅为1.94%,而在中,而在中等和等和较较差差环环境下年均增境下年均增长长率分率分别为别为-3.24%和和 -3.82%,如果在某自然保,如果在某自然保护
2、护区内开始有区内开始有100只只鹤鹤,建立描述其数量建立描述其数量变变化化规规律的模型,并作律的模型,并作 数数值计值计算。算。模型建立模型建立记记第第k年沙丘年沙丘鹤鹤的数量的数量为为xk,年均增年均增长长率率为为r,则则第第k+1年年鹤鹤的数量的数量为为 xk+1=(1+r)xk k=0,1,2已知已知x0=100,在在较较好,中等和好,中等和较较差的自然差的自然环环境下境下 r=0.0194,-0.0324,和和-0.0382 我我们们利用利用Matlab编编程,程,递递推推20年后年后观观察沙丘察沙丘鹤鹤的的数量数量变变化情况化情况Matlab实现实现首先建立一个关于首先建立一个关于变
3、变量量n,r的函数的函数function x=sqh(n,r)a=1+r;x=100;for k=1:n x(k+1)=a*x(k);end在在command窗口里窗口里调调用用sqh函数函数 k=(0:20);y1=sqh(20,0.0194);y2=sqh(20,-0.0324);y3=sqh(20,-0.0382);round(k,y1,y2,y3)To Matlab(ff6)利用plot 绘图观察数量变化趋势可以用不同可以用不同线线型和型和颜颜色色绘图绘图r g b c m y k w 分分别别表示表示 红绿兰兰绿红绿兰兰绿洋洋红红黄黑白色黄黑白色:+o*.X s d 表示不同的表示不
4、同的线线型型 plot(k,y1,k,y2,k,y3)在同一坐在同一坐标标系下画系下画图图 plot(k,y2,:)plot(k,y2,-)plot(k,y2,r)plot(k,y2,y)plot(k,y2,y,k,y1,:)plot(k,y2,k,y1,:)plot(k,y2,oy,k,y1,:)用gtext(r=0.0194),gtext(r=-0.0324),gtext(r=-0.0382)在图上做标记。To Matlab(ff6)人工孵化是挽救人工孵化是挽救濒濒危物种的措施之一,如危物种的措施之一,如果每年孵化果每年孵化5只只鹤鹤放入保放入保护护区,区,观观察在中等察在中等自然条件下沙
5、丘自然条件下沙丘鹤鹤的数量如何的数量如何变变化化Xk+1=aXk+5 ,a=1+r如果我们想考察每年孵化多少只比较合适,可以令Xk+1=aXk+b ,a=1+rfunction x=fhsqh(n,r,b)a=1+r;x=100;for k=1:nx(k+1)=a*x(k)+b;endk=(0:20);%一个行向量一个行向量y1=(20,-0.0324,5);%也是一个行向量也是一个行向量round(k,y 1 )%对对k,y1四舍五入,但四舍五入,但%是是 不改不改变变变变量的量的值值 plot(k,y1)%k y1 是行向量列向量都可以是行向量列向量都可以也可以也可以观观察察20年的年的发
6、发展展趋势趋势,以及在,以及在较较差差条件下的条件下的发发展展趋势趋势,也可以考察每年孵,也可以考察每年孵化数量化数量变变化的影响。化的影响。To Matlab(ff7)高阶线性常系数差分方程高阶线性常系数差分方程 如果第如果第k+1时时段段变变量量Xk+1不不仅仅取决取决于第于第k时时段段变变量量Xk,而且与以前,而且与以前时时段段变变量有关,就要用高量有关,就要用高阶阶差分方程来描述差分方程来描述一年生植物的繁殖一年生植物的繁殖一年生植物春季一年生植物春季发发芽,夏天开花,秋季芽,夏天开花,秋季产产种,没有腐种,没有腐烂烂,风风干,干,没没被人被人为为掠取掠取的那些种子可以活的那些种子可以
7、活过过冬天,其中一部分冬天,其中一部分能在第能在第2年春季年春季发发芽,然后开花,芽,然后开花,产产种,种,其中的另一部分其中的另一部分虽虽未能未能发发芽,但如又能芽,但如又能活活过过一个冬天,一个冬天,则则其中一部分可在第三其中一部分可在第三年春季年春季发发芽,然后开花,芽,然后开花,产产种,如此种,如此继继续续,一年生植物只能活,一年生植物只能活1年,而近似的年,而近似的认认为为,种子最多可以活,种子最多可以活过过两个冬天,两个冬天,试试建建立数学模型研究立数学模型研究这这种植物数量种植物数量变变化的化的规规律,及它能一直繁殖下去的条件。律,及它能一直繁殖下去的条件。模型及其求解模型及其求
8、解记记一棵植物春季一棵植物春季产产种的平均数种的平均数为为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
9、)bcXk-2 Xk=a1bcXk-1 +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.180.20这样这样可以用可以用matlab计计算了算了Xk=a1bcXk-1 +a2b(1-a1)bcXk-2function x=zwfz(x0,n,b)c=10;a1=0.5;a2=0.25;p=a1*b*c;q=a2*b*
10、(1-a1)*b*c;x(1)=x0;x(2)=p*(x(1);for k=3:nx(k)=p*(x(k-1)+q*(x(k-2);endk=(0:20);y1=zwfz(100,21,0.18);y2=zwfz(100,21,0.19);y3=zwfz(100,21,0.20);round(k,y1,y2,y3);plot(k,y1,k,y2,:,k,y3,o),gtext(b=0.18);gtext(b=0.19);gtext(b=0.20)To Matlab(ff8)结果分析:Xk=pXk-1+qXk-2 (1)x1+px0=0 (2)差分方程的特征方程差分方程的特征方程差分方程的特征根
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 求解 方程 问题
限制150内