matlab第2次课
实验一matlab环境语法及数学运算(验证性实验-2课时)

实验一Matlab环境语法及数学运算(验证性实验-2课时)一、实验目的:1、熟悉matlab软件的环境语法及简单的数学运算;2、能熟练运用matlab软件进行简单的数学运算;二、实验设备PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。
局域网、MATLAB7.0环境、投影仪三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink 模型编辑窗口。
1.命令窗口(The Command Window)当MATLAB启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
四、实验内容:1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:3、多项式求多项式 p(x) = x3 + 2x+ 4的根4、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;五、实验步骤1、帮助命令使用 help 命令,查找 sqrt(开方)函数的使用方法;SQRT Square root.SQRT(X) is the square root of the elements of X. Complexresults are produced if X is not positive.See also sqrtm.Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.mReference page in Help browserdoc sqrt2、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4]; B=[5 6;7 8];求 A^2*BA^2*B =105 122229 266(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/BWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018.A\B =1.0e+016 *-0.4504 1.8014 -1.35110.9007 -3.6029 2.7022-0.4504 1.8014 -1.3511A/B =1.0000 1.0000 1.00004.0000 2.5000 2.00007.0000 4.0000 3.0000(3)矩阵的转置及共轭转置已知 A=[5+i,2-i,1;6*i,4,9-i];求 A.', A'A.'=5.0000 + 1.0000i 0 +6.0000i2.0000 - 1.0000i 4.00001.0000 9.0000 - 1.0000iA’ =5.0000 - 1.0000i 0 -6.0000i2.0000 + 1.0000i 4.00001.0000 9.0000 + 1.0000i(4)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:A(3,1:2) =7 8A(2:3,:) =4 5 67 8 9A(1:2,3) =363、多项式求多项式 p(x) = x3 + 2x+ 4的根p=[1 0 2 4];roots(p)ans =0.5898 + 1.7445i0.5898 - 1.7445i-1.17954、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π]t=0:pi/100:2*pi;y=cos(t);plot(t,y)(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]t=0:pi/100:2*pi;y1=cos(t-0.25);y2=sin(t-0.5);plot(t,y1,t,y2)5、基本绘图控制绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;程序:t=0:pi/100:4*pi;x1=10*sin(t);plot(t,x1,'r-.+')title('t from 0 to 4{\pi}')xlabel('Variable t')ylabel('Variable x1')grid ontext(2,5,'曲线x1=10*sin(t)')legend('x1')六、实验要求利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。
matlab第二次课 ( 1 )

2.1 信号的表示与运算
矩阵的创建与修改
•
用load函数装载矩阵
如 load sn.txt load a.mat
sn.txt a.mat为已建立的2个文件
2.1 信号的表示与运算
矩阵的创建与修改
直接修改
可用键找到所要修改的矩阵,用键移 动到要修改的矩阵元素上即可修改。 指令修改 可以用A(,)= 来修改。
plot的调用格式
2.2 matlab 绘图之二维绘图
S的标准设定值 字母 y m c r g b w k 颜色 黄色 粉红 亮蓝 大红 绿色 蓝色 白色 黑色 标点 · ○ × + - : -· (--) 线型 点线 圈线 ×线 +字线 实线 星形线 虚线 点划线
2.2 matlab 绘图之二维绘图 plot的特点
信号自变量t的常用2种生成方法 t=linspace(t1,t2,N);
在区间[t1,t2]s上均匀产生N个时间样点值。
t= t1:1/fs:t2
在区间[t1,t2]s上以采样率f信号的生成 例: 生成在[0,10]s上长度为30的单位阶跃信号, 并作图表示。 t=linspace(0,10,30); y=ones(1,30); Stem(t,y)
信号的生成
1
0.5
0
生成周期三角波
-0.5
sawtooth(T):对时间向量T产生周期三角波
sawtooth(T,WIDTH):WIDTH为(0,1)的偏离系数
0 0.05
-1
0.1
0.15
0.2
在(0,1.5)上生成频率 为50HZ的三角波信号,
1
0.5
采样率为10KHZ.
0
t=0:0.0001:1.5;
matlab的教学课程设计

matlab 的教学课程设计一、课程目标知识目标:1. 掌握MATLAB的基础知识,包括数据类型、矩阵运算、程序流程控制等;2. 学会使用MATLAB进行数据可视化、图像处理、数值计算等操作;3. 了解MATLAB在工程领域的应用,并能结合所学专业进行简单的数据分析。
技能目标:1. 能够熟练运用MATLAB编写程序,解决实际问题;2. 学会使用MATLAB进行数据导入、导出,以及与Excel、Word等软件的数据交互;3. 培养学生运用MATLAB进行科学计算和工程问题求解的能力。
情感态度价值观目标:1. 培养学生对MATLAB编程的兴趣和热情,激发学生主动探索精神;2. 培养学生严谨的科学态度,提高学生的团队协作能力;3. 引导学生认识到MATLAB在现代工程技术中的重要性,树立正确的价值观。
课程性质:本课程为实践性较强的课程,旨在培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的数学基础和编程兴趣,但对MATLAB编程可能较为陌生。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以案例教学为主,培养学生的实际操作能力。
在教学过程中,关注学生的个体差异,鼓励学生提问、讨论,提高学生的参与度和积极性。
通过课程学习,使学生能够独立完成MATLAB程序编写,解决实际问题。
二、教学内容1. MATLAB基础知识:数据类型、矩阵运算、程序流程控制等;教材章节:第一章 MATLAB概述,第二章 MATLAB基础知识。
2. 数据可视化与图像处理:绘图函数、图像处理基本操作等;教材章节:第三章 数据可视化,第四章 图像处理。
3. 数值计算:线性方程组求解、数值积分、插值等;教材章节:第五章 数值计算。
4. MATLAB在实际工程中的应用:结合所学专业,进行数据分析与处理;教材章节:第六章 MATLAB在工程中的应用。
5. MATLAB与其他软件的数据交互:数据导入、导出,与Excel、Word等软件的数据交互;教材章节:第七章 MATLAB与其他软件的数据交互。
matlab第二版课后习题答案

matlab第二版课后习题答案
《MATLAB第二版课后习题答案》
MATLAB是一种强大的数学软件,被广泛应用于工程、科学和金融等领域。
《MATLAB第二版》是一本经典的教材,为了帮助学生更好地掌握MATLAB的使用,书中提供了大量的课后习题。
下面我们将为大家总结一些MATLAB第二版课后习题的答案,希望能对大家的学习有所帮助。
1. 第一章课后习题答案
第一章主要介绍了MATLAB的基本操作,包括变量的定义、矩阵的运算、函数的使用等。
在课后习题中,有一道题目是要求计算一个矩阵的逆矩阵。
答案是使用MATLAB中的inv函数,将原矩阵作为参数传入即可得到逆矩阵。
2. 第二章课后习题答案
第二章介绍了MATLAB中的绘图功能,包括二维和三维图形的绘制。
有一道课后习题是要求绘制一个正弦曲线和余弦曲线,并在同一张图上显示。
答案是使用MATLAB中的plot函数,分别绘制正弦曲线和余弦曲线,并使用legend函数添加图例。
3. 第三章课后习题答案
第三章介绍了MATLAB中的控制流程,包括if语句、for循环和while循环等。
有一道课后习题是要求编写一个程序,计算1到100之间所有偶数的和。
答案是使用for循环遍历1到100之间的所有数,判断是否为偶数并累加。
通过以上几个例子,我们可以看到MATLAB第二版课后习题的答案涵盖了各种基本和高级的操作,对于学习MATLAB是非常有帮助的。
希望大家在学习MATLAB的过程中能够多加练习,掌握更多的技巧和方法。
MATLAB编程及应用 李辉 PPT课件 第2章 MATLAB基本计算和基础知识

2.2.2 系统预定义变量
MATLAB系统提供了一些用户不能清除的特殊变量,
即系统预定义变量。
MATALB系统预定义变量及其含义
预定义变量名
含义
ans pi eps nan或NAN inf i或j
运算结果默认变量名 圆周率 浮点数的精度,也是系统运算时确定的极小值 非数,如0/0 无穷大,如1/0 虚数标志,i=j=sqrt(-1)
1.0000 + 2.0000i >> b=3+4*j b=
3.0000 + 4.0000i
2.3.2 逻辑类型
MATLAB本身并没有专门提供逻辑类型,而借用整型来描
述逻辑类型数据。MATLAB规定,逻辑数据真(true)为1、
逻辑数据假(false)为0。
>> 2<3 ans =
logical 1 >> 2>3 ans = logical 0
>> sin(pi/3) ans =
0.8660
➢ 复数的计算:MATLAB还具有超越计算器的功能, 它认识复数,能够进行复数的计算。
>> (2+3i)+(4+5i) ans =
6.0000 + 8.0000i
Байду номын сангаас
2.2 变量
变量是指在程序执行过程中其值可以变化的量。
变量
用户自定义变量 系统预定义变量
2.3 数据类型
MATLAB数据类型
数值类型 逻辑类型 字符串类型 单元类型 结构类型
2.3.1 数值类型
数值类型分类方法
根据数据存 储空间和方 式分类
根据数据结 构分类
Matlab详细学习讲义

Matlab详细学习讲义《MA TLAB软件应⽤》讲义[第2 / 16次课]第1章基础准备及⼊门⼀点名⼆作业讲评三复习提问MATLAB界⾯由⼏⼤组件组成?MATLAB的搜索路径主要有什么应⽤途径?四上机练习内容启动MATLAB。
在D盘根⽬录下,以“学号_姓名”的格式创建⽂件夹,并在Matlab中将该⽬录设置为Current Folder。
(利⽤MA TLAB Toolbar 中Current Folder组合框后的按钮)。
以下为本章教学必须掌握的知识点。
在MA TLAB的Command Window中练习以下代码,并观察系统输出,并逐⾏进⾏注释。
本次课结束后将代码⽂件上传。
在MA TLAB程序界⾯中进⾏以下操作:1 上机实习内容提⽰及要求启动MATLAB后,依次练习MA TLAB的菜单项、⼯具栏和Command Window、Current Folder、Command History、Workspace等主要组件的基本功能,按指定内容在MA TLAB程序界⾯下进⾏操作练习。
2 上机实习内容在MATLAB程序界⾯中进⾏以下操作:1) Command Window指令窗⼝在集成窗体和独⽴窗体之间切换(Undock/Dock按钮)2) 在Command Window中运⾏以下指令,掌握换⾏符(...)的使⽤>> (12+2*(7-4))/3^2>> S=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8>> S=1-1/2+1/3-1/4+…+1/5-1/6+1/7-1/83)在Command Window中分别输⼊以下数值,并按回车,观察MA TLAB的输出(数值如3, -99, 0.001, 9.456, 1.3e-3, 4.5e33, eps, 等)4)以下实例涉及变量的定义规则,在Command Window中分别输⼊并按回车,观察MA TLAB的输出结果.输出结果为错误提⽰时,分析出现错误的原因.>> xyz_4=32.75>> var1=3.09e-5*1028>> 4xyz=32.75>> 4*xyz=198.28>>4,xyz=198.285) 在Command Window中输⼊下列数学常数,并按回车:eps, i, j, Inf, inf, intmax, NaN, nan, pi, realmax, realmin,观察并分析系统的输出。
MATLAB与数学实验第二版教学设计 (2)
MATLAB与数学实验第二版教学设计1. 前言MATLAB作为一种通用的科学计算软件,已得到广泛地应用。
其提供的语言和工具使得数学实验教学在许多方面得到了极大的改进。
本文将介绍MATLAB与数学实验第二版的教学设计,包括教学目标、教学内容、教学策略等内容。
2. 教学目标本次教学的主要目标是:让学生掌握MATLAB软件的基本操作、实验数据的处理、以及MATLAB在数学实验中的应用。
通过本次课程的学习,学生应具备以下知识和能力:•掌握MATLAB软件基本操作;•理解实验数据的处理方法;•学会利用MATLAB进行数学实验分析。
3. 教学内容3.1 MATLAB软件基础本部分教学内容主要涵盖MATLAB软件的基础知识,包括MATLAB编程语言、MATLAB环境基础等。
3.2 实验数据处理本部分教学内容主要涵盖实验数据的处理方法,包括数据读入和输出、数据预处理、数据分析等。
3.3 MATLAB在数学实验中的应用本部分教学内容主要涵盖MATLAB在数学实验中的应用,包括实验模型建立、实验分析与可视化、数学模型解决等。
4. 教学策略本节将介绍本次教学中所采用的教学策略。
4.1 教学方法本次教学采用“理论结合实践”教学方法,旨在让学生通过理论学习和实践操作相结合,提高学生的动手能力和应用能力。
4.2 实验设计本次教学将通过数学实验的方式实现知识点的教学,旨在增强学生的实践操作能力。
实验的设计将分为三个部分:•第一部分:MATLAB软件基础操作练习;•第二部分:实验数据处理;•第三部分:MATLAB在数学实验中的应用。
4.3 教学环节本次教学将分为讲授和实践两部分。
在讲授环节中,教师将通过授课、演示等方式进行教学;在实践环节中,学生将通过实验操作的方式进行学习。
5. 教学评价本节将介绍本次教学的评价方式。
5.1 考试评价本次教学将通过考试的方式进行评价,考试内容将涵盖教学内容的全部知识点,旨在全面考核学生的学习效果和能力。
数学实验二(matlab中二分法求解方程)
云南大学数学与统计学实验教学中心实验报告
数学实验(二)
一、实验目的:练习用数值迭代逼近法解非线性方程。
1.区间迭代法:对分法和黄金分割法
2.点的迭代法:简单迭代法
二、实验内容:用二分法(即对分法)编程求解方程。
0123=---x x x
三、实验环境:MATLAB.
四.实验方法:
程序代码:
function X=fan(a,b)
e=1e-2;
ep=1;
x0=a;
xn=b;
x=0;
k=0;
N=100;
while (ep>e)
x=(x0+xn)/2;
f1=x^3-x^2-x-1;
f2=x0^3-x0^2-x0-1;
f3=xn^3-xn^2-xn-1;
if f1*f2<0
x0=a;
xn=x;
elseif f1*f3<0
x0=x;
xn=b;
end
ep=abs(f1);
k=k+1;
if k>N
break;
end
x
ep
实验结果:
fan(a,b)
x =
1.8572
ep =
0.0993
五、实验过程
1实验步骤
2 关键代码及其解释
3 调试过程
六、实验总结
1.遇到的问题及解决过程
2.产生的错误及原因分析
3.体会和收获。
matlab2022实验2参考答案
matlab2022实验2参考答案报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:MATLAB实验二MATLAB符号计算试验报告说明:1做试验前请先预习,并独立完成试验和试验报告。
2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。
3在页眉上写清报告名称,学生姓名,学号,专业以及班级。
3报告以Word文档书写。
一目的和要求1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解二试验内容1多项式运算(必做)1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0%采用数值方法:>>f=[1-1034-5025];>>root(f)%采用符号计算方法:f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1)1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。
%reidue用于实现多项式的部分分式展开,此处用deconv函数报告名称:MATLAB试验二符号计算姓名:学号:专业:班级:%%此题,有同学程序如下:某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)[y6,r]=deconv(某5,某3)R=deconv(y6,某4)%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。
matlab课后习题解答第二章
第2章符号运算习题2及解答1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))〖目的〗●不能从显示形式判断数据类型,而必须依靠class指令。
〖解答〗c1=3/7+0.1c2=sym(3/7+0.1)c3=sym('3/7+0.1')c4=vpa(sym(3/7+0.1))Cs1=class(c1)Cs2=class(c2)Cs3=class(c3)Cs4=class(c4)c1 =0.5286c2 =37/70c3 =c4 =Cs1 =doubleCs2 =symCs3 =symCs4 =sym2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')〖目的〗●理解自由符号变量的确认规则。
〖解答〗symvar(sym('sin(w*t)'),1)ans =wsymvar(sym('a*exp(-X)'),1)ans =asymvar(sym('z*exp(j*th)'),1) ans = z5求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
〖目的〗● 理解subexpr 指令。
〖解答〗A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')DA=det(A) IA=inv(A);[IAs,d]=subexpr(IA,d) A =[ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)8(1)通过符号计算求t t y sin )(=的导数dtdy。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(x4 y4) (x2 y2) (x3y3)
0
2
4
6 (x1 y1)
8
10 x
12
14
(25*x-85)/(x+3)'); x=[];y=[]; x(1)=5.5; y(1)=0;x(2)=x(1);y(2)=f(x(1)); for i=1:100 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); hold on; syms x; ezplot(x,[0,20]); ezplot(f(x),[0,20]); axis([0,20,0,20]); hold off
用WHILE(vpa(xn,8)~=vpa(f(xn),8)) 输出前8位有效数字,fprintf(‘%.8g’,xn)
21
11
5. 认识混沌 迭代序列如果不收敛,会出现什么情况? 1. 迭代次数充分大时,迭代序列出现周期性 重复 x0 , x1 ,, x N , x N 1 ,, x N k 1
-2+sin(3/2 x) 0 -0.5 -1
x N , x N 1 , , x N k 1
-1.5
实验四 函数的迭代、 混沌与分形
1
实验目的
理解迭代的基本含义 掌握迭代数列的系列图形表示方法 以一类特殊二次函数(Logistic函数)为例, 掌握二次函数迭代数列的收敛性分析方法 熟悉编写函数迭代的Matlab程序 了解二元函数迭代的方法及其图形特征
2
实验四 1、 定义
函数的迭代、混沌与分形
n
迭代序列 x 16.9884 16.9954 16.9981 16.9993 16.9997 16.9999 17. 17. 17. 17.
n
6
取其它的初值做试验
初值 -40000 -500 -20 0 4 4.9 5 5.1 6 20 100 1000 收敛性 收敛于17 收敛于17 收敛于17 收敛于17 收敛于17 收敛于17 收敛于5 收敛于17 收敛于17 收敛于17 收敛于17 收敛于17 得到收敛点的迭代次数 16 16 16 17 17 19 0
19
6 5 4 3 2 1 0 -1 -2 -4 -3 -2 -1 0 1 2 3 4 5 6
作业说明
1、分段函数的定义 2x , 0<=x<=1/2, f(x)= 2(1-x), 1/2<x<=1; f=inline(‘2*x*(x>=0&x<=1/2)+2*(1x)*(x>1/2&x<=1)’); 但画蜘蛛网图时不能直接使用。 2、迭代时,xn+1与xn的前8位有效数字一致时终止 计算
14
一个试验:首先取a的值为3,在(0,1)中随 机取一数x0作为初值进行迭代,共迭代300次 左右,丢弃起始的100次迭代的数据,在图 上绘出所有的点( a , xn )) (>100).然后慢慢 地增加a值,每增加一次,都重复前面的步 骤,一直增加到a = 4为止,这样得到的图形, 称为Feigenbaum图.
-2
k称为该序列的周期
-2.5
-3
-3.5 -3.5
-3
-2.5
-2 x
-1.5
-1
-0.5
0
2. 序列没有规律、杂乱无章,称之为混沌. 随机运动、对初值敏感
-2+sin(5 x) 0 -0.5 -1 -1.5 -2
-2.5
-3
-3.5 -3.5
-3
-2.5
-2 x
-1.5
-1
-0.5
12 0
6.人口增长的Logistic模型
5
迭代次数 n 迭代序列 x n 1 6.17647 2 7.5641 3 9.85437 4 12.5529 5 14.7125 6 15.9668 7 16.5642 8 16.8218 9 16.9281 10 16.9711
迭代次数 11 12 13 14 15 16 17 18 19 20
15
logistic=inline('u*x*(1-x)'); x0=0.5; for u=3.0:0.01:4 for i=1:300 x0=logistic(u,x0); if i>100 plot(u,x0,'k','linewidth',1); hold on; end; end; end; hold off
称为一个二维迭代.
18
例1 函数 f ( x, y) y sin x 与 g ( x, a) a x , 取a =3.1、初值为(1.2,0) a=3.1;xn=1.2;yn=0; for n=1:100 xN=xn; yN=yn; xn=yN-sin(xN);yn=a-xN; plot(xn,yn,'k*'); axis([-5,7,-5,7]); hold on; pause(0.1); end; hold off
f ( x) L 1
则当初值 x0 (a, b) 时,由 f (x) 生成的迭代序 列收敛.
问题1:如果迭代序列收敛,收敛点会满足怎样 的条件?
4
3.分式线性函数的迭代 例:
f ( x) 25 x 85 x3
先取初值x0=5.5
f=inline('(25*x-85)/(x+3)');%先定义函数 x0=5.5; for i=1:1:20 x0=f(x0); fprintf('%g,%g\n',i,x0); end
19 17 12 14 14
7
结论:只要初值不取为5,迭代序列总收敛 于17。 易知,f(x)的不动点恰好是17与5。5称为排斥 点,17称为吸引点。 问题2 为何17是吸引点,5是排斥点? 例1 用分式函数的迭代法近似计算
2
8
4.迭代的可视化(蜘蛛网图)
9
(25 x-85)/(x+3) 20 18 16 14 12 10 8 6 4 2 0
xn1 xn (1 xn )
f ( x) x(1 x) (0 x 1)
称为Logistic映射
13
7. Feigenbaum图
对于Logistic 映射,取a=2.5,我们通过离 散图形观察迭代的收敛情况。
syms x; f=inline('2.5*x*(1-x)'); x0=0.12; for i=1:1:10 %i换成2.5会怎样?进一步的, 此句前加上“if i>50”,后加 plot(i,f(x0),'.'); 上“end;” x0=f(x0); hold on; end; hold off
16
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4
8.二维迭代与分形 由两个二元函数 f ( x, y )与 g ( x, y ) 取初值 ( x0 , y0 )构成的迭代
xn 1 f ( xn , yn ) yn 1 g ( xn , yn )
给定某个初值,反复作用以同一个函数的 过程称为迭代 ,一般形式为
x0 , x1 f ( x0 ), x 2 f ( x1 ), , x n f ( x n 1 ),
它生成了一个序列{ x n },称为迭代序列.
3
2、迭代序列的收敛性 设函数 f (x) 满足: (1)对任意 x (a, b), f ( x) (a, b) ; (2) f (x)在( a , b )内可导,且存在常数 L 使得