matlab解差分方程-课件·PPT

合集下载

第九讲 差分方程 Matlab语言程序设计 教学课件

第九讲  差分方程  Matlab语言程序设计 教学课件
用0.0g3t2e4x’t)(,‘grt=e0x.t0(19‘r4=’)-,0g.t03e8x2t(’)‘r在=图- 上做标记e。xno92
一、一阶线性常系数差分方程
例1:濒危物种的自然演化和人工孵化 ❖ 人工孵化是挽救濒危物种的措施之一,如果每
年孵化5只鹤放入保护区,观察在中等自然条 件下沙丘鹤的数量如何变化 ▪ Xk+1=aXk+5 ,a=1+r ▪ 如果我们想考察每年孵化多少只比较合适,
Matlab语言程序设计
理学院 徐 屹
东北电力大学
Northeast Dianli College
第九讲 差分方程
❖ 污水处理厂每天可将处理池的污水浓度降低一 个固定比例q,问多长时间才能将污水浓度降 低一半?
❖ 记第k天的污水浓度为ck,则第k+1天的污水浓 度为 ck+1=(1-q)ck,k=0,1,2,···· 从k=0开始递推n次得
一、一阶线性常系数差分方程
例1:濒危物种的自然演化和人工孵化 模型建立:
❖ 记第k年沙丘鹤的数量为xk,年均增长率为r,则 第k+1年鹤的数量为

xk+1=(1+r)xk k=0,1,2······
❖已知x0=100, 在较好,中等和较差的自然环境
下 r=0.0194, -0.0324,和-0.0382 我们利
❖ end
一、一阶线性常系数差分方程
例1:濒危物种的自然演化和人工孵化 ❖ 在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'])

用matlab解差分方程

用matlab解差分方程

• title('(a)'); xlabel('(n)');ylabel('(n)');%ep141.m: 调用filter解差分方程y(n)-ay(n-1)=x(n)
• a=0.8; ys=1;
%设差分方程系数a=0.8,初始状态:y(-1)=1
• xn=[1,zeros(1,30)] %x(n)=单位脉冲序列,长度N=31
• B=1; A=[1,-a]; %差分方程系数
• xi=filtic(B,A,ys); %由初始条件计算等效初始条件的输入序列xi
• yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出信号y(n)
图形表现
批注本地保存成功开通会员云端永久保存去开通
用matlab解差分方程
本例子截取书上第19页,
matlab求解程序
• %ep141.m: 调用filter解差分方程y(n)-ay(n-1)=x(n)
• a=0.8; ys=1;
%设差分方程系数a=0.8,初始状态:y(-1)=1
• xn=[1,zeros(1,30)] %x(n)=单位脉冲序列,长度N=31
• B=1; A=[1,-a]; %差分方程系数
• xi=filtic(B,A,ys); %由初始条件计算等效初始条件的输入; %调用filter解差分方程,求系统输出信号y(n)
• n=0:length(yn)-1;
• subplot(3,2,1);stem(n,yn,'.')

用Matlab求解差分方程问题

用Matlab求解差分方程问题

可以看到时间充分长以后3个城市汽车数量趋于180,300,120 可以考察这个结果与初始条件是否有关 若最开始600辆汽车都在A市,可以看到变化时间充分长以后,各城市汽车数量趋于稳定,与初始值无关
直接输入x(:,1)的值即可
x(:,1)=[600,0,0]; round(x'); plot(k,x),grid
k→∞时,xk→x,称平衡点是稳定的
高阶线性常系数差分方程
如果第k+1时段变量Xk+1不仅取决于第k时段变量Xk,而且与以前时段变量有关,就要用高阶差分方程来描述
一年生植物的繁殖
一年生植物春季发芽,夏天开花,秋季产种,没有腐烂,风干,被人为掠取的那些种子可以活过冬天,其中一部分能在第2年春季发芽,然后开花,产种,其中的另一部分虽未能发芽,但如又能活过一个冬天,则其中一部分可在第三年春季发芽,然后开花,产种,如此继续,一年生植物只能活1年,而近似的认为,种子最多可以活过两个冬天,试建立数学模型研究这种植物数量变化的规律,及它能一直繁殖下去的条件。
这样,有x(k+1)=Lx(k),k=0,1,····
1
给定在0时段,各年龄组的初始数量x(0)
2
就可以预测任意时段k,各年龄组的数量
3
设一种群分成5个年龄组,
4
繁殖率b1=0,b2=0.2,,b3=1.8,b4=0.8,b5=0.2
5
存活率s1=0.5,s2=0.8,s3=0.8,s4=0.1
6
Xk= a1bcXk-1 + a2b(1-a1)bcXk-2
添加标题
Function x=zwfz(x0,n,b)
添加标题
C=10;a1=0.5;a2=0.25;

用Matlab求解差分方程问题

用Matlab求解差分方程问题

一阶线性常系数差分方程的解、平衡点及其稳定性
xk 1 axk b
• 自然环境下,b=0 • 人工孵化条件下
xk ak x0
xk ak x0 b(1 a
k
ak 1 )
1 ak a x0 b 1 a
• 令xk=xk+1=x得
x
差分方程的平衡点 • k→∞时,xk→x,称平衡点是稳定的
• 以k=0时x0=M代入,递推n次可得n年后本息为
xn 1 r M
n
• 污水处理厂每天可将处理池的污水浓度 降低一个固定比例q,问多长时间才能将 污水浓度降低一半? • 记第k天的污水浓度为ck,则第k+1天的污 水浓度为 ck+1=(1-q)ck,k=0,1,2,· · · · 从k=0开始递推n次得
• 用矩阵表示
x1 (k 1) 0.6 0.2 0.1 x1 ( k ) x ( k 1) 0.3 0.7 0.3 x ( k ) 2 2 x (k 1) 0.1 0.1 0.6 x ( k ) 3 3
一阶线性常系数差分方程的解平衡点及其稳定性?自然环境下b0?人工孵化条件下0kkxax?101kkkxaxbaa???????1kkxaxb????令xkxk1x得差分方程的平衡点?k时xkx称平衡点是稳定的011kkaaxba????1bxa??高阶线性常系数差分方程??如果第k1时段变量xk1不仅取决于第k时段变量xk决于第k时段变量xk而且与以前时段变量有关就要用高阶差分方程来描述而且与以前时一年生植物的繁殖?一年生植物春季发芽夏天开花秋季产种没有腐烂风干被人为掠取的那些种子可以活过冬天其中一部分能在第2年春季发芽然后开花产种其中的另一部分虽未能发芽但如又能活过个冬天则其中过一个冬天则其中一部分可在第三年春季发芽然后开花产种如此继续一年生植物只能活1年而近似的认为种子最多可以活过两个冬天试建立数学模型研究这种植物数量变化的规律及它能一直繁殖下去的条件

用matlab求解差分方程

用matlab求解差分方程
x1 ( k + 1) = 0.6 x1 ( k ) + 0.2 x2 ( k ) + 0.1x3 ( k ) x2 ( k + 1) = 0.3 x1 ( k ) + 0.7 x2 ( k ) + 0.3 x3 ( k ) x ( k + 1) = 0.1x ( k ) + 0.1x ( k ) + 0.6 x ( k ) 1 2 3 3
Xk-1决定的部分是 a1bcXk-1,由Xk-2决定的部分是 a2b(1-a1)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.18~0.20 这样可以用matlab计算了
500
400
300
200
100
0
0
1
2
3
4
5
6
7
8
9
10
按年龄分组的种群增长
野生或饲养的动物因繁殖而增加,因自然死亡 和人为屠杀而减少,不同年龄动物的繁殖率, 死亡率有较大差别,因此在研究某一种群数量 的变化时,需要考虑年龄分组的种群增长。 将种群按年龄等间隔的分成若干个年龄组,时 间也离散化为时段,给定各年龄组种群的繁殖 率和死亡率,建立按年龄分组的种群增长模型, 预测未来各年龄组的种群数量,并讨论时间充 分长以后的变化趋势。
Matlab求解差分方程问题 用Matlab求解差分方程问题

用Matlab求解差分方程问题

用Matlab求解差分方程问题

Xk-1决定的部分是 a1bcXk-1,由Xk-2决定的部分是 a2b(1-a1)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.18~0.20 • 这样可以用matlab计算了
Xk= a1bcXk-1 + a2b(1-a1)bcXk-2
• • • • • • • • Function x=zwfz(x0,n,b) C=10;a1=0.5;a2=0.25; p=a1*b*c;q=a2*b*(1-a1)*b*c; X1=x0; X2=p*(x1); for k=3:n X(k)=p*(xk-1)+q*(xk-2); end
k=0:10; plot(k,x) ,grid gtext('x1(k)'), gtext('x2(k)'), gtext('x3(k)')
280 260 240 220 200 180 160 140 120
x2(k)
x1(k)
x3(k) 0 1 2 3 4 5 6 7 8 9 10
• 可以看到时间充分长以后3个城市汽车数 量趋于180,300,120 • 可以考察这个结果与初始条件是否有关 • 若最开始600辆汽车都在A市,可以看到 变化时间充分长以后,各城市汽车数量 趋于稳定,与初始值无关
直接输入x(:,1)的值即可
x(:,1)=[600,0,0]; round(x'); plot(k,x),grid

用Matlab求解差分方程问题

用Matlab求解差分方程问题

Matlab实现
• • • • • • • 首先建立一个关于变量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'])
用Matlab求解差分方程问题
一阶线性常系数差分方程
高阶线性常系数差分方程
线性常系数差分方程组
差分方程是在离散时段上描述现 实世界中变化过程的数学模型
• 例1、 某种货币1年期存款的年利率是r , 现存入M元,问年3;r)xk , k = 0 , 1 , 2 · · · · ·
方程(1)的解可以表为 C1,c2 由初始条件x0,x1确定。
1,2 1, xk 0( k )
1,2 1, xk ( k )
• 本例中,用待定系数的方法可以求出 b=0.18时,c1=95.64, c2=4.36 , (1, 2 ) (0.9430, 0.0430) 这样 xk 95.64(0.9430)k 4.36(0.0430)k 实际上,
直接输入x(:,1)的值即可
x(:,1)=[600,0,0]; round(x'); plot(k,x),grid
600 500
400
300
200
100
0
0
1
2

差分方程及matlab求解.

差分方程及matlab求解.

程中出现.
定义3′ 含有两个或两个以上函数值yt,yt+1,…的函数方 程,称为(常)差分方程,出现在差分方程中未知函数下 标的最大差,称为差分方程的阶. n阶差分方程的一般形式为
F(t,yt,yt+1,…,yt+n)=0,
其中F为t,yt,yt+1,…,yt+n的已知函数 ,且yt和yt+n一定要 在差分方程中出现.
其中A1,A2,…,An为n个任意(独立)常数.
定理4(非齐次线性差分方程通解结构定理) 如果 y (t)是非齐次线性方程yt+n+a1(t)yt+n-1+a2(t)yt+n-2
+…+an-1(t)yt+1+an(t)yt=f(t)的一个特解,yA(t)是其对应的齐
次线性方程 yt+n+a1yt+n-1 +a2yt+n-2 +…+an-1yt+1+anyt=0 的通
解,那么,非齐次线性差分方程的通解为: y(t)=yA(t)+ y (t)

y(t)=A1y1(t)+A2y2(t)+…+Anyn(t)+ y(t), 这里A1,A2,…,An为n个任意(独立)常数.
第二节 一阶常系数线性差分方程
一阶常系数线性差分方程的一般形式为 yt+1+ayt=f(t) 和 yt+1+ayt=0, 其中 f(t) 为 t 的已知函数 ,a≠0 为常数 .分别称为一阶常 系数非齐次线性差分方程和其对应的齐次差分方程.
试以特解 yt =a+bt,(a,b为待定系数)代入方程得

用matlab解差分方程

用matlab解差分方程

• B=1; A=[1,-a]; %差分方程系数
• xi=filtic(B,A,ys); %由初始条件计算等效初始条件的输入序列xi
• yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出信号y(n)
• n=0:length(yn)-1;
• subplot(3,2,1);stem(n,yn,'.')
• title('(a)'); xlabel('(n)');ylabel('(n)');%ep141.m: 调用filter解差分方程y(n)-ay(n-1)=x(n)
• a=0.8; ys=1;
%设差分方程系数a=0.8,初始状态:y(-1)=1
• xn=[1,zeros(1,30)] %x(n)=单位脉冲序列,长度N=31
• B=1; A=[1,-a]; %差分方程系数
ห้องสมุดไป่ตู้
• xi=filtic(B,A,ys); %由初始条件计算等效初始条件的输入序列xi
• yn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出信号y(n)
图形表现
用matlab解差分方程
本例子截取书上第19页,
matlab求解程序
• %ep141.m: 调用filter解差分方程y(n)-ay(n-1)=x(n)
• a=0.8; ys=1;
%设差分方程系数a=0.8,初始状态:y(-1)=1
• xn=[1,zeros(1,30)] %x(n)=单位脉冲序列,长度N=31

用matlab求解差分方程

用matlab求解差分方程
一阶线性常系数差分方程的解、平衡点及其稳定性
01
单击此处添加正文,文字是您思想的提炼,请尽量言简意赅地阐述观点。
自然环境下,b=0
02
单击此处添加正文,文字是您思想的提炼,请尽量言简意赅地阐述观点。
人工孵化条件下
03
差分方程的平衡点
令xk=xk+1=x得
04
单击此处添加正文,文字是您思想的提炼,请尽量言简意赅地阐述观点。
添加标题
X(k)=p*(xk-1)+q*(xk-2);
添加标题
end
K=(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’)
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’)在图上做标记。
可以看到时间充分长以后3个城市汽车数量趋于180,300,120 可以考察这个结果与初始条件是否有关 若最开始600辆汽车都在A市,可以看到变化时间充分长以后,各城市汽车数量趋于稳定,与初始值无关

用matlab求解差分方程PPT共50页

用matlab求解差分方程PPT共50页


29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇

30、意志是一个强壮的盲人,倚靠在源自眼的跛子肩上。——叔本华谢谢!
50
用matlab求解差分方程
6、纪律是自由的第一条件。——黑格 尔 7、纪律是集体的面貌,集体的声音, 集体的 动作, 集体的 表情, 集体的 信念。 ——马 卡连柯
8、我们现在必须完全保持党的纪律, 否则一 切都会 陷入污 泥中。 ——马 克思 9、学校没有纪律便如磨坊没有水。— —夸美 纽斯
10、一个人应该:活泼而守纪律,天 真而不 幼稚, 勇敢而 鲁莽, 倔强而 有原则 ,热情 而不冲 动,乐 观而不 盲目。 ——马 克思

26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭

27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰

28、知之者不如好之者,好之者不如乐之者。——孔子

Matlab解差分方程

Matlab解差分方程
用Matlab求解差分方程问题
一阶线性常系数差分方程
高阶线性常系数差分方程
线性常系数差分方程组
差分方程是在离散时段上描述现 实世界中变化过程的数学模型
• 例1、 某种货币1年期存款的年利率是r , 现存入M元,问年后的本金与利息之和 是多少?
• Xk+1=(1+r)xk , k = 0 , 1 , 2 · · · · ·
x ( k 1 ) 0 . 6 x ( k ) 0 . 2 x ( k ) 0 . 1 x ( k ) 1 1 2 3 x ( k 1 ) 0 . 3 x ( k ) 0 . 7 x ( k ) 0 . 3 x ( k ) 2 1 2 3 x ( k 1 ) 0 . 1 x ( k ) 0 . 1 x ( k ) 0 . 6 x ( k ) 3 1 2 3
k=0:10; plot(k,x) ,grid gtext('x1(k)'), gtext('x2(k)'), gtext('x3(k)')
280 260 240 220 200 180 160 140 120
x2(k)
x1(k)
x3(k) 0 1 2 3 4 5 6 7 8 9 10
• 可以看到时间充分长以后3个城市汽车数 量趋于180,300,120 • 可以考察这个结果与初始条件是否有关 • 若最开始600辆汽车都在A市,可以看到 变化时间充分长以后,各城市汽车数量 趋于稳定,与初始值无关
Matlab实现
• • • • • • • 首先建立一个关于变量n ,r的函数 function x=sqh(n,r) a=1+r; x=100; for k=1:n x(k+1)=a*x(k); end

MATLAB求差分方程模型

MATLAB求差分方程模型

设在中等自然条件下每年孵化5只鹤 放入保护区. >> k=0:20; %一个行向量 >> y=rgsqh(20,-0.0324,5); >> plot(k,y)
130
125
120
115
110
105
100
0
2
4
6
8
10
12
14
16
18
20
每年放养多少只会保证物种数量的稳定?
令Xk=Xk+1 得a=-rX0 当X0=100,r=-0.0324时, a=3.24
观察n年以后的3个城市的汽车数量变化情况
1. 直接在命令窗口(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 >> x(:,k+1)
3.建立M函数文件 格式: function 输出变量=函数名称(输入变量) 例如:输入 function Xn=sqh(n,r) X0=100; Xn=(1+r)^n*X0; end 单击工具栏中的保存按钮,文件名sqh2.m 保存以后在指令窗口调用sqh2函数,输入: >>Xn=sqh2(20,0.0194) 输出同上。
用Matlab求解差分方程问题
一阶线性常系数差分方程
高阶线性常系数差分方程
线性常系数差分方程组
一阶线性常系数差分方程
Florida沙丘鹤属于濒危物种,它在较好自然环境下, 年均增长率仅为1.94%,而在中等和较差环境下年均增 长率分别为 -3.24% 和 -3.82%,如果在某自然保护区内 开始有100只鹤,建立描述其数量变化规律的模,并作 数值计算。 模型建立: 记第k年沙丘鹤的数量为Xk,年均增长率为r, 则第k+1年鹤的数量为
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档