数值计算方法课程PPT(运用Matlab)

上传人:汽*** 文档编号:571787818 上传时间:2024-08-12 格式:PPT 页数:96 大小:1.45MB
返回 下载 相关 举报
数值计算方法课程PPT(运用Matlab)_第1页
第1页 / 共96页
数值计算方法课程PPT(运用Matlab)_第2页
第2页 / 共96页
数值计算方法课程PPT(运用Matlab)_第3页
第3页 / 共96页
数值计算方法课程PPT(运用Matlab)_第4页
第4页 / 共96页
数值计算方法课程PPT(运用Matlab)_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《数值计算方法课程PPT(运用Matlab)》由会员分享,可在线阅读,更多相关《数值计算方法课程PPT(运用Matlab)(96页珍藏版)》请在金锄头文库上搜索。

1、MATLABMATLAB快速入门快速入门 编程环境编程环境1编程入门编程入门2绘图绘图3Matlab 简介简介qMatlab 提供了提供了强大的科学计算、灵活的程序设计流强大的科学计算、灵活的程序设计流程、高质量的图形可视化与界面设计程、高质量的图形可视化与界面设计等功能,被广泛等功能,被广泛应用于应用于科学计算、控制系统、信息处理科学计算、控制系统、信息处理等领域的分析、等领域的分析、仿真和毕业设计。仿真和毕业设计。Matlab 功能强大、简单易学、功能强大、简单易学、编程效率高编程效率高,深受广大科技工作者的欢迎。,深受广大科技工作者的欢迎。q Matlab是一种广泛应用于是一种广泛应用于

2、工程工程计算计算及及数值分析数值分析领域的新型高级领域的新型高级语言,现已成为国际公认的最优语言,现已成为国际公认的最优秀的工程应用开发环境。秀的工程应用开发环境。感受感受Matlabu A=magic(3),det(A),inv(A) ,eig(A)u 求的根求的根 f (x) = x*exp(x2) 的的10次导数,次导数,在区间在区间【0,1】上的积分等运算上的积分等运算x=syms xf= x*exp(x2) diff(f ,x,10)int(f,x,0,1)u 绘图绘图q Matlab 具有很强的具有很强的数值计算数值计算功能功能 Matlab 以以矩阵矩阵作为数据操作的基本单位,但

3、无需作为数据操作的基本单位,但无需预先指定矩阵维数预先指定矩阵维数(动态定维)(动态定维) 提供十分丰富的数值计算函数,方便计算,提高效率提供十分丰富的数值计算函数,方便计算,提高效率 简便易学:简便易学:Matlab 命令与数学中的符号、公式非命令与数学中的符号、公式非常接近,可读性强,容易掌握常接近,可读性强,容易掌握q Matlab 是一个交互式软件系统是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果输入一条命令,立即就可以得出该命令的结果Matlab: Matrix LaboratryMatlab 的特点与功能的特点与功能q Matlab 符号计算功能强大符号计算功能强大q

4、 Matlab 的编程功能的编程功能Matlab简单易学、编程效率高简单易学、编程效率高。q Matlab 的绘图功能强大的绘图功能强大Matlab提供丰富的绘图命令,提供丰富的绘图命令,很方便实现数据的可视化很方便实现数据的可视化q Matlab 丰富的工具箱(丰富的工具箱(toolbox)根据专门领域中的特殊需要而设计的各种可选工具箱根据专门领域中的特殊需要而设计的各种可选工具箱Symbolic Math PDEOptimizationSignal processImage ProcessStatisticsControl SystemSystem Identification Matla

5、b 的基本用法的基本用法q Matlab 系统的启动系统的启动双击双击 桌面上的桌面上的Matlab 快捷图标快捷图标使用使用 Windows “开始开始” 菜单菜单程序程序MATLAB7.0 MATLAB7.0 q Matlab 系统的退出系统的退出 在在 Matlab 主窗口主窗口 File 菜单中选择菜单中选择 Exit Matlab 命令命令 在在 Matlab 命令窗口输入命令窗口输入 exit 或或 quit 命令命令 单击单击 Matlab 主窗口的主窗口的“关闭关闭”按钮按钮注:注:注:注:在任何时候,只要按在任何时候,只要按ctrl+cctrl+c,MATLAB将停止运行将停

6、止运行的所有工作的所有工作Matlab 的工作界面的工作界面命令窗口命令窗口当前工当前工作目录作目录当前工当前工作空间作空间输入命令的输入命令的历史记录历史记录命令命令提示符提示符Matlab 的命令窗口的命令窗口q 交互式的命令执行方式交互式的命令执行方式在在Command Window内的提示符内的提示符()之后之后输入运算式,并按输入运算式,并按 Enter 键键即可即可 缺省变量名缺省变量名 ans若不想在屏幕上输出结果,可以在语句最后加分号若不想在屏幕上输出结果,可以在语句最后加分号 cos(0),210,2+4iA=1 2 3;2 4 6;3 6 9det(A)t=0:pi/100

7、:2*pi;y=sin(t); plot(t,y,r*)q 变量命名原则变量命名原则Matlab 变量变量u 以以字母开头:字母开头:x1,y,千万不要以数字开头,千万不要以数字开头u 后面可以跟后面可以跟 字母、数字字母、数字 和和 下划线下划线u 变量名称变量名称区分字母的区分字母的 大小大小 写写,比如,比如Abc和和abc不同不同u字母间不可留空格,可以用下划线字母间不可留空格,可以用下划线math_scoreq Matlab 语句的通常形式语句的通常形式变量变量=表达式表达式q续行符续行符的作用的作用q系统预定义变量系统预定义变量Matlab 变量变量u pi 圆周率圆周率 u in

8、f/Inf 无穷大无穷大 u nan/NaN Not-a-Number,一个不定值,如,一个不定值,如 0/0u eps 浮点浮点运算相对精度运算相对精度 q 特殊变量特殊变量 ansu i/j 虚部单位,即虚部单位,即应尽量避免给系统预定义变量重新赋值!应尽量避免给系统预定义变量重新赋值!q 数与算术表达式数与算术表达式Matlab 数值运算数值运算u Matlab 中的数默认是中的数默认是双精度实数双精度实数,表示方法,表示方法同同 C 语言语言3, -9, 0.4, 1.603e-12, 3.23e+20u 浮点运算的浮点运算的相对误差为相对误差为 epsu 浮点数表示范围为浮点数表示范

9、围为:10-308 10308u 复数的输入复数的输入 z=3+4i (4 与与 i 之间不能有空格之间不能有空格) z=3+4*iq数学运算符数学运算符u + 加法加法Matlab 数值运算数值运算u - 减法减法u * 乘法乘法u / 和和 除法(右除和左除)除法(右除和左除)u 幂运算幂运算u.* ./ . . 点运算点运算常用数学函数常用数学函数函数名函数名含含 义函数名函数名含含 义sin正弦函数正弦函数exp自然指数函数自然指数函数cos余弦函数余弦函数pow22的的幂tan正切函数正切函数abs绝对值函数函数asin反正弦函数反正弦函数angle复数的幅角复数的幅角acos反余弦

10、函数反余弦函数real复数的复数的实部部atan反正切函数反正切函数imag复数的虚部复数的虚部sinh双曲正弦函数双曲正弦函数conj复数共复数共轭运算运算cosh双曲余弦函数双曲余弦函数rem求余数或模运算求余数或模运算函数名函数名含含 义函数名函数名含含 义tanh双曲正切函数双曲正切函数mod模除求余模除求余asinh反双曲正弦函数反双曲正弦函数fix向零方向取整向零方向取整acosh反双曲余弦函数反双曲余弦函数floor不大于自不大于自变量的最大整数量的最大整数atanh反双曲正切函数反双曲正切函数ceil不小于自不小于自变量的最小整数量的最小整数sqrt平方根函数平方根函数roun

11、d四舍五入到最四舍五入到最邻近的整数近的整数log自然自然对数函数数函数sign符号函数符号函数log10常用常用对数函数数函数gcd最大公因子最大公因子log2以以2为底的底的对数函数数函数lcm最小公倍数最小公倍数常用数学函数常用数学函数简单实例简单实例练习:练习:求求29的自然对数和无理数的自然对数和无理数e的值的值q 矩阵的矩阵的直接输入直接输入 矩阵用方括号矩阵用方括号“ ”括起括起例:例: A = 1 2 3; 4 5 6; 7 8 9 矩阵同一行中的元素之间用矩阵同一行中的元素之间用空格空格或或逗号逗号分隔分隔 矩阵行与行之间用矩阵行与行之间用 分号分号分开分开 直接输入法中,分

12、号可以用直接输入法中,分号可以用回车回车代替代替矩阵矩阵q Matlab 的操作对象是的操作对象是 矩阵矩阵矩阵下标矩阵下标q 单个元素的引用单个元素的引用例:例: A(2,3)矩阵元素的引用矩阵元素的引用利用小括弧和元素所在的位置(下标)利用小括弧和元素所在的位置(下标)x(i):向量向量 x 中的第中的第 i 个元素个元素A(i, j):矩阵矩阵 A 中的第中的第 i 行,第行,第 j 列元素列元素矩阵操作矩阵操作q 提取矩阵的部分元素:提取矩阵的部分元素: 冒号运算符冒号运算符uA(i,j) A的第的第i行第行第j列元素列元素u A(:,k) A的第的第 k 列列u A(k,:) A的第

13、的第 k 行行 u A(:,k:m) A的第的第 k 到第到第 m 列组成的子矩阵列组成的子矩阵uA(end,end) A的最后一行最后一列的最后一行最后一列如何获得由如何获得由 A 的第一、三行和第一、二列组成的子矩阵?的第一、三行和第一、二列组成的子矩阵?自己动手自己动手矩阵的各种处理矩阵的各种处理A(2,3) %查询第查询第2行第行第3列所对应的元素列所对应的元素A(12) %查询第查询第12个元素个元素A(9 14,10 15) %思考之思考之A(:,4) %查询第查询第4列元素列元素A(4,:) %查询第查询第4行元素行元素A(end,:) %最后一行元素最后一行元素A(find(A

14、5) %查询大于查询大于5的元素的元素A(2,3) = 5 %重新赋值第重新赋值第2行行3列元素为列元素为5q 向量与矩阵的生成向量与矩阵的生成向量与矩阵的生成向量与矩阵的生成u 向量的生成向量的生成 直接输入直接输入: a=1,2,3,4 冒号冒号创建:创建:x=a:step:b 从矩阵中抽取行或列从矩阵中抽取行或列生成线性等分向量:生成线性等分向量:x=linspace(a,b,n) x=linspace(0,1,5)x2=a+h:h:b-h;%2倍的点倍的点x4=a+h/2:h:b-h/2;%4倍的点倍的点q 大矩阵可以把小矩阵作为其元素大矩阵可以把小矩阵作为其元素矩阵元素赋值矩阵元素赋

15、值例:例: A = A; 11 12 13 在原矩阵的下方加一行在原矩阵的下方加一行如何在原矩阵的右边添加一列?如何在原矩阵的右边添加一列?u 已知矩阵已知矩阵A和行向量和行向量b,如何得到矩阵,如何得到矩阵常见矩阵生成函数常见矩阵生成函数zeros(m,n) 生成一个生成一个 m 行行 n 列的零矩阵,列的零矩阵,m=n 时可简写为时可简写为 zeros(n)ones(m,n)生成一个生成一个 m 行行 n 列的元素全为列的元素全为 1 的矩阵的矩阵, m=n 时可写为时可写为 ones(n)eye(m,n)生成一个主对角线全为生成一个主对角线全为 1 的的 m 行行 n 列矩阵列矩阵, m

16、=n 时可简写为时可简写为 eye(n),即为即为 n 维单位矩阵维单位矩阵diag(A)diag(x)A 是矩阵,则是矩阵,则 diag(A) 为为 A 的主对角线向量的主对角线向量x 是向量,是向量,diag(x) 产生以产生以 x 为主对角线的对角矩为主对角线的对角矩阵阵rand(m,n)产生产生 01 间间均匀分布均匀分布的随机矩阵的随机矩阵 m=n 时简写为时简写为 rand(n)randn(m,n)产生均值为产生均值为0,方差为,方差为1的的标准正态分布标准正态分布随机矩阵随机矩阵m=n 时简写为时简写为 randn(n)矩阵操作矩阵操作q 查看矩阵的大小:查看矩阵的大小:size

17、u size(A) 列出矩阵列出矩阵 A 的的行数和列数行数和列数u size(A,1) 返回矩阵返回矩阵 A 的的行数行数u size(A,2) 返回矩阵返回矩阵 A 的的列列数数例例: A=1 2 3; 4 5 6 size(A) size(A,1) size(A,2)u length(x) 返回向量返回向量 X 的的长度长度u length(A) 等价于等价于 max(size(A)逆矩阵与行列式计算逆矩阵与行列式计算q矩阵的逆矩阵:矩阵的逆矩阵:inv(A)q矩阵的行列式:矩阵的行列式:det(A) 要求要求A为方阵为方阵q矩阵的秩:矩阵的秩:rank(A) 例:例:A=1 2 3;

18、4 5 6; 2 3 5; A1=inv(A), d=det(A1), rank(A1)矩阵的数组运算矩阵的数组运算q 数组运算:数组运算:对应元素进行运算点与算术运算符之间不能有空格!u 数组运算包括:数组运算包括:点乘点乘、点除点除、点幂点幂u 相应的数组运算符为:相应的数组运算符为: “.* ” , “./ ” , “. ” 和和“ . ”例例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4; C=A.*B; D=A./B; E=A.B; F=A.B;数与数组的点幂数与数组的点幂x.y =14,25,36=1,32,729 x.2 =12,22,32=1,4,9 2.x

19、= ? 例例:x=1 2 3; y=4 5 6;矩阵的矩阵的“除法除法”q 矩阵的除法矩阵的除法:/、 右除和左除右除和左除 若 A 可逆方阵,则AB A 的逆左乘的逆左乘 B = inv(A)*BB/A A 的逆右乘的逆右乘 B B*inv(A)X=AB A*X=BX=B/A X*A=B 通常,矩阵除法可以理解为 当当 A 和和 B 行数相等行数相等时即可进行时即可进行左除左除 当当 A 和和 B 列数相等列数相等时即可进行时即可进行右除右除例例:设设A、B满足关系式:满足关系式:AB2B+A,求求B。其中其中A=3 0 1; 1 1 0; 0 1 4。向量特殊运算介绍向量特殊运算介绍min

20、最小值sum总和max最大值prod总乘积mean平均值std标准差median中位数sort排序dot数量积cross向量积例:例:A=magic(3)或或A=1:5% %运算对向量或矩阵都适用运算对向量或矩阵都适用B=mean(A)C=sum(A)变量的存储变量的存储q 存储当前工作空间中的变量存储当前工作空间中的变量u save 将所有变量存入文件将所有变量存入文件 matlab.matu save mydata 将所有变量存入将所有变量存入指定文件指定文件 mydata.matq 存储指定的变量存储指定的变量u save mydata.mat 将所有变量存入将所有变量存入文件文件 my

21、data.matsave 文件名文件名 变量名列表变量名列表例例: save mydata A x z 变量名列表中各变量之间用空格分隔。变量名列表中各变量之间用空格分隔。变量的读取变量的读取q 将数据文件中的变量载入当前工作空间将数据文件中的变量载入当前工作空间u load mydata 载入数据文件中的所有变量载入数据文件中的所有变量u load mydata A x 从数据文件中提取指定变量从数据文件中提取指定变量u掌握如何从掌握如何从txt文件和文件和excel文件载入数据文件载入数据q 清除当前工作空间中的变量清除当前工作空间中的变量u clear 清除当前工作空间中的所有变量清除当

22、前工作空间中的所有变量u clear A x 清除指定的变量清除指定的变量q 输出格式输出格式Matlab 的输出的输出u Matlab 以双精度执行所有的运算,运算结果可以以双精度执行所有的运算,运算结果可以在在屏幕上输出屏幕上输出,同时,同时赋给指定变量;赋给指定变量;若无指定变量,则系若无指定变量,则系统会自动将结果赋给变量统会自动将结果赋给变量 “ans” u File菜单,选择菜单,选择Preferences菜单项菜单项,可以设置显,可以设置显示格式示格式uMatlab 中数的输出格式可以通过中数的输出格式可以通过 format 命令命令指定指定format 只改变变量的输出格式,但

23、不会影响变量的值!只改变变量的输出格式,但不会影响变量的值!几个小技巧几个小技巧q Matlab 的命令记忆功能:的命令记忆功能:上下箭头键上下箭头键q 命令补全功能:命令补全功能: Tab 键键 可以先输入命令的前几个字符,再按上下键缩小搜索范围可以先输入命令的前几个字符,再按上下键缩小搜索范围 q 用用 Esc 键键 删除命令行删除命令行Matlab帮助系统帮助系统q 联机帮助联机帮助help 显示指定命令的简短使用说明显示指定命令的简短使用说明例:例: help eig help sqrt help help help elfun q 详细使用帮助详细使用帮助doc 以网页形式以网页形式

24、显示指定命令的帮助页显示指定命令的帮助页例:例: doc eig q 其它相关命令其它相关命令helpdesk、helpwin、more编程基础编程基础关系与逻辑运算关系与逻辑运算1数据输入与输出数据输入与输出2函数文件函数文件3选择与循环语句选择与循环语句4程序设计技巧简介程序设计技巧简介5q 用 Matlab 语言编写的程序称为 M 文件。q M 文件是由若干 Matlab 命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。事实上,Matlab 提供的内部函数以及各种工具箱,都是利用 Matlab 语言开发的 M 文件。用户也可以结合自己的工作需要,开发自己的程序或工具箱。q

25、M 文件根据调用方式的不同可以分为两类:u Script:脚本文件/命令文件 u Function:函数文件 M 文件文件q M 文件以 .m 为扩展名。q M 文件是一个文本文件,可以用任何文本编辑器来建立和编辑,通常使用 Matlab 自带的 M 文件编辑器。M 文件的建立与打开文件的建立与打开q 新建一个 M 文件u 菜单操作 ( File New M-File )u 命令操作 ( edit M 文件名 )u 命令按钮 ( 快捷键 )q 打开已有的 M 文件u 菜单操作 ( File Open )u 命令操作 ( edit M 文件名 )u 命令按钮 ( 快捷键 )u 双击 M 文件 q

26、 程序控制结构有三种:顺序结构顺序结构、选择结构选择结构和和循循环结构环结构。M文件控制流文件控制流选择结构选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句。关系运算关系运算小于小于大于大于=大于等于大于等于=等于等于=不等于不等于l 比较大小,如果结论是 真真 则返回 1 ,否则返回 0l 注意 = 与 = 的区别l 关系操作符能用来比较两个同样大小的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样。q 关系关系运算符运算符& 与与 (Elementwi

27、se AND)| 或或 (Elementwise OR) 非非xor(x,y) 异或异或逻辑运算逻辑运算q 逻辑运算符逻辑运算符A & B 等价于 and(A,B)A | B 等价于 or(A,B) A 等价于 not(A)例:例:A=input(Please input A: )u 数据的输入:inputA=input(提示信息提示信息)l 其中 提示信息 为字符串,l 该命令要求用户输入 A 的值 (可以是数或字符串)数据输入数据输入 inputA=input(提示信息提示信息, s)注:注:此时输入的字符串不要加单引号!l 如果是输入字符串,也可以使用下面的方法name=input(Wh

28、ats your name? , s)例:例:disp(X)输出变量 X 的值的值,可以是数值矩阵或字符串 B=1 2 3; 4 5 6; 7 8 9; disp(B)数据输出数据输出 dispu 数据的输出:disp A=Hello,Tom !; disp(A)例:例:l 单分支结构if expression (条件)条件) statements (语句组)语句组)endif 条件语句条件语句if expression (条件)条件) statements1(语句组语句组1)else statements2(语句组语句组2)endl 双分支结构数据输出数据输出 fprintffprintf(

29、fid,format,variables)按指定的格式将变量的值输出到指定的文件u 数据的输出:fprintfl fid 为文件句柄,若缺省,则将变量的值输出到屏幕上l format 用来指定数据输出时采用的格式,常见的有 %e ( 采用科学计算形式采用科学计算形式 ) %f ( 采用浮点数形式采用浮点数形式 ) %g ( 由系统自动选取上述两种格式之一由系统自动选取上述两种格式之一) %s ( 输出字符串输出字符串) l format 中还可以使用一些特殊格式,如:n ( 换行换行 ) t ( 制表符制表符 ) b ( 退格退格 ) ( 反斜杆反斜杆 ) % ( 百分号百分号 ) 数据输出数

30、据输出 fprintffprintf(第第%2d次迭代值为:次迭代值为:%10.8fn,n,x1)例:例:l format 中的输出格式要与输出变量一一对应function out1,out2,=函数名函数名(in1,in2,)% 注释说明部分注释说明部分(可选可选)函数体语句函数体语句(必须必须)u 第一行为第一行为引导行引导行,表示该,表示该 M文件是函数文件文件是函数文件u 函数名的命名规则与变量名相同函数名的命名规则与变量名相同 ( 必须以字母开头必须以字母开头 )u 当输出行参多于一个时,用当输出行参多于一个时,用方括号方括号括起来括起来u 函数必须是一个函数必须是一个单独的单独的

31、M文件文件u 函数函数文件名必须与函数名一致文件名必须与函数名一致u 以以百分号百分号开始的语句为开始的语句为注释语句注释语句函数文件函数文件q 函数文件由函数文件由 function 语句引导语句引导函数文件举例函数文件举例myfun.mfunction x1,x2=myfun(a,b,c) temp=sqrt(b2-4*a*c); x1=(-b+temp)/2/a; x2=(-b-temp)/2/a;q 函数调用的一般格式函数调用的一般格式输出实参列表输出实参列表=函数名函数名(输入实参列表输入实参列表)函数调用函数调用子函数子函数function avg = fun(x) % 主函数主函

32、数 n = length(x);avg = mean(x, n);function a = mean(x, n) % 子函数子函数a = sum(x)/n;M文件的编辑与路径设置文件的编辑与路径设置q进入进入MATLAB的的Editor/Debugger窗口来编辑程序窗口来编辑程序q在编辑环境中,文字的不同颜色显示表明文字的不在编辑环境中,文字的不同颜色显示表明文字的不同属性。同属性。 绿色绿色:注解;:注解;黑色黑色:程序主体;:程序主体;红色红色:属性值的设:属性值的设定;定;蓝色蓝色:控制流程。:控制流程。q在运行程序之前,必须设置好在运行程序之前,必须设置好MATLAB的工作路径的工作

33、路径程序设计技术程序设计技术q程序出错主要为两类:程序出错主要为两类:1)格式错误,如缺格式错误,如缺(或或)等,在运行时等,在运行时可检测出大多数该类错误,并指出错在哪一行。可检测出大多数该类错误,并指出错在哪一行。2)算法错误,逻辑上的错误,不易查找,遇到此算法错误,逻辑上的错误,不易查找,遇到此类错误时需耐心。类错误时需耐心。q 程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序都由这三种基本结构组成。u 顺序结构M文件控制流文件控制流l 按排列顺序依次执行各条语句,直到程序的最后。l 这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。选择结构选择结构

34、是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句和 switch 语句。选择结构选择结构if expression1 (条件1) statements1(语句组1)elseif expression2 (条件2) statements2(语句组2) . . elseif expressionm (条件m) statementsm(语句组m)else statements(语句组)endl 多分支结构if 条件语句条件语句for variable=expression statement(循环体)end循环变量循环变量循环结构循环结构while

35、 expression (条件) statement(循环体)endfor循环循环【练习练习】一个三位整数各位数字的立方和一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出等于该数本身则称该数为水仙花数。输出全部水仙花数全部水仙花数。举例举例for k=1:1:n x0=x1; x1=x0-f(x0)/df(x0);endu 数值稳定性实验:数值稳定性实验:for i=1:1:8 for i=8:-1:1 end endu 迭代法求根,线性方程组迭代法求解,常微分方迭代法求根,线性方程组迭代法求解,常微分方程数值解等程数值解等l 循环语句可以嵌套使用while 循环循环while

36、 expression (条件) statement(循环体)endl 不能在 for 循环体内改变循环变量的值l 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for 循环的使用l 如果预先就知道循环的次数,则可以采用 for 循环;否则,如果预先无法确定循环的次数,则可以使用 while 循环。while循环举例循环举例【例例】FibonacciFibonacci数组的元素满足数组的元素满足Fibonacci Fibonacci 规规 则:则: 且且 。现要求该数组中。现要求该数组中第一个大于第一个大于1000010000的元素。的元素。a(1)=1;a(2)=1;i=3;a

37、(i)=a(i-1)+a(i-2);while a(i) x=0:0.2:2*pi; plot(x,cos(x); plot(x,cos(x),r+:); plot(x,cos(x),bd-.); plot(x,cos(x),k*-);同时绘制多个函数图像同时绘制多个函数图像u plot(x1,y1,s1,x2,y2,s2, . ,xn,yn,sn)属性选项属性选项可以省略可以省略等价于:等价于:hold onplot(x1,y1,s1)plot(x2,y2,s2).plot(xn,yn,sn)图形的基本属性图形的基本属性线型线型点标记点标记颜色颜色- - 实线实线: : 虚线虚线-.-. 点

38、划线点划线- 间断线间断线. . 点点o o 小圆圈小圆圈x x 叉子符叉子符+ + 加号加号* * 星号星号s s 方格方格d d 菱形菱形 朝上三角朝上三角v v 朝下三角朝下三角 朝右三角朝右三角 x=-pi:pi/10:pi; y=sin(x); plot(x,y,rh:,linewidth,2, . markeredgecolor,b, . markerfacecolor,g)例例:q 线条的粗细,字体大小,坐标轴属性等。linewidth: 指定线条的粗细指定线条的粗细markeredgecolor: 指定标记的边缘色指定标记的边缘色markerfacecolor: 指定标记表面的

39、颜色指定标记表面的颜色注:注:1) 属性与属性的值是成对出现的属性与属性的值是成对出现的 2) 更多属性参见更多属性参见 plot 的联机帮助的联机帮助数值分析实验选讲数值分析实验选讲牛顿迭代法实验牛顿迭代法实验2微分方程数值解实验微分方程数值解实验3数值积分实验数值积分实验4数值稳定性实验数值稳定性实验1教材第教材第6页例页例1.1例:计算例:计算 公式一:公式一:记为记为则初始误差则初始误差Ans= 0.182000000000 0.090000000000 0.050000000000 0.083333333333 -0.166666666667 1.033333333333 -5.00

40、0000000000 25.142857142858 -125.589285714292例:计算例:计算 公式二:公式二:S1 = 0.18232155977143 0.08839220114286 0.05803899428571 0.04313836190476 0.03430819047619 0.02845904761905 0.02437142857143 0.02100000000000 0.02000000000000n00.1823210.1820.182310.0883920.0900.0883920.0580390.0500.05803830.0431380.0830.04

41、313840.034306-0.16660.03430850.0284681.03330.02845960.024324-5.00000.0243770.02123625.14280.02180.018836-125.58920.020q 选用数值稳定性的算法计算选用数值稳定性的算法计算思考与练习思考与练习提示:提示:教材第教材第200页例页例1.1 203页例页例7.8教材第教材第200页例页例1.1 例:例: 求下面方程的一个根,其中控制精确度求下面方程的一个根,其中控制精确度tol=10(-8). 调用结果调用结果若取初始值为若取初始值为1: x1,n=mynewton(1,1e-8)x

42、1 = 0.60259620356652n = 7若取初始值为若取初始值为0: x1,n=mynewton(0,1e-8)x1 = 0.60259620356652n =27 调用结果调用结果2 x1,n=mynewton(1,1e-6);第第 1次迭代值为:次迭代值为:0.82731056第第 2次迭代值为:次迭代值为:0.69235833第第 3次迭代值为:次迭代值为:0.62007843第第 4次迭代值为:次迭代值为:0.60334207第第 5次迭代值为:次迭代值为:0.60259760第第 6次迭代值为:次迭代值为:0.60259620第第 7次迭代值为:次迭代值为:0.60259620共迭代共迭代 7次求得的近似根次求得的近似根x*=:0.60259620教材第教材第248页例页例9.2调用结果调用结果

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号