数值分析实验何光辉

上传人:桔**** 文档编号:510359816 上传时间:2023-09-20 格式:DOC 页数:153 大小:2.07MB
返回 下载 相关 举报
数值分析实验何光辉_第1页
第1页 / 共153页
数值分析实验何光辉_第2页
第2页 / 共153页
数值分析实验何光辉_第3页
第3页 / 共153页
数值分析实验何光辉_第4页
第4页 / 共153页
数值分析实验何光辉_第5页
第5页 / 共153页
点击查看更多>>
资源描述

《数值分析实验何光辉》由会员分享,可在线阅读,更多相关《数值分析实验何光辉(153页珍藏版)》请在金锄头文库上搜索。

1、数值分析实验教程何光辉 重庆大学数学与统计学院二O一O年三月目 录0 Matlab介绍入门知识31 绪论161.1 例题解答161.2 Matlab中数值计算精度192 线性方程组的直接解法202.1 例题解答202.2 Matlab解线性方程组常用命令介绍343 线性方程组的迭代解法353.1 例题解答353.2 Matlab迭代解法用到的函数介绍484 方阵特征值和特征向量的计算484.1 例题解答484.2 Matlab关于方阵特征值为特征向量函数介绍565 非线性方程求根575.1 例题解答575.2 Matlab非线性方程求根的命令796 插值法796.1 例题解答796.2 Mat

2、lab插值函数介绍957 数据拟合和最佳平方逼近967.1 例题解答967.2 Matlab数据拟合命令介绍1068 数值积分与数值微分1078.1 例题解答1079 常微分方程数值解法1309.1 例题解答1309.2 Matlab常微分方程数值解常用命令介绍1460 Matlab介绍入门知识1. Matlab简介MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵.MATLAB自问世以来,就是以数值计算称.MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”.经过十几年的完善和扩充

3、,现已发展成为线性代数课程的标准工具.由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的.MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具.工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等.随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,MATLAB提供的工具箱已覆盖信号处理、系统控制

4、、统计计算、优化计算、神经网络、小波分析、偏微分方程、模糊逻辑、动态系统模拟、系统辨识和符号运算等领域.当前它的使用范围涵盖了工业、电子、医疗、建筑等各行各业.MATLAB中包括了图形界面编辑GUI,让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑.在命令窗口(matlab command window)键入simulink,就出现(SIMULINK) 窗口.以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的原因所在. MATLAB 语言由美国 The MathWorks 开发,最早是由C.Moler用Fortr

5、an语言编写的,用来方便地调用LINPACK和EISPACK矩阵代数软件包的程序.后来他创立了MATHHWORKS公司,对MATLAB作了大量的、坚持不懈的改进.Cleve B.Moler是The MathWork公司的主席和首席科学家.曾任密歇系教授.他在两个计算机硬件制造商Intel公司的Hypercube组织和Arden Computers 公司工作了五年.他的主要专业兴趣在于数值分析和科学计算.他是MATLAB软件的创始者,也是著名的矩阵计算软件包LINPACK和EISPACK的著作这一,已撰写了三本有相关数值方法的教材.同时,他在SIAM(美国工业与应用数学学会)历任期刊编辑、委员会

6、成员和副总裁,并从1996年开始担任理事会成员.2. Matlab入门知识Matlab变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符.在MATLAB中,变量名区分字母的大小写.赋值语句:变量=表达式 或 表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵.clear命令用于删除MATLAB工作空间中的变量.who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单.who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息.利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长

7、久地保留下来,扩展名是.mat.MAT文件的生成和装入由save和load命令来完成.常用格式为:save 文件名 变量名表 -append-asciiload 文件名 变量名表 -ascii其中,文件名可以带路径,但不需带扩展名.mat,命令隐含一定对.mat文件进行操作.变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔.当变量名表省略时,保存或装入全部变量.-ascii选项使文件以ASCII格式处理,省略该选项时文件将以二进制格式处理.save命令中的-append选项控制将变量追加到MAT文件中.(1) 向量的创建用步长生成法:数组=初值:步长(增量):终值 a=

8、1:0.5:3a =1.0000 1.5000 2.0000 2.5000 3.0000用linspace生成:数组=linspace(初值,终值,等分点数目) b=linspace(1,3,5)b =1.0000 1.5000 2.0000 2.5000 3.0000列向量用分号(;)作为分行标记: c=1;2;3;4;c = 1 2 3 4若不想输出结果,在每一条语句后用分号作为结束符,若留空或用逗号结束,则在执行该语句后会把结果输出来. a+b; a+bans = 2 3 4 5 6(2) 矩阵的创建直接输入:最简单的建立矩阵的方法是从键盘直接输入矩阵的元素.具体方法如下:将矩阵的元素用

9、方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔. A=1 2 3;4 5 6;2 3 5A = 1 2 3 4 5 6 2 3 5利用矩阵函数创建: B=magic(3)%魔方阵B = 8 1 6 3 5 7 4 9 2 C=hilb(3)%3阶Hilbert矩阵C = 1.0000 0.5000 0.3333 0.5000 0.3333 0.25000.3333 0.2500 0.2000Matlab中用%引导注释其它创建矩阵函数还有:eye(m,n):生成m行n列单位矩阵.zeros(m,n):生成m行n列全零矩阵.ones(m,n)

10、:生成全1矩阵.rand(m,n):生成随机矩阵.rand:生成一个随机数.diag(A):取A的对角线元素.tril(A):取A的下三角元素.triu(A):取A的上三角元素.hilb(n):生成n维Hilbert矩阵.randn(n):产生均值为0,方差为1的标准正态分布随机矩阵.vander(V):生成以向量V为基础向量的范得蒙矩阵.invhilb(n): 求n阶的希尔伯特矩阵的逆矩阵.toeplitz(x,y): 生成一个以x为第一列,y为第一行的托普利兹矩阵compan(p): 生成伴随矩阵, p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后.pascal(n): 生成一个n

11、阶帕斯卡矩阵.compan: 生成伴随矩阵(3) 矩阵运算MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方).加法: A+Bans = 9 3 9 7 10 13 6 12 7减法: B-Aans = 7 -1 3 -1 0 1 2 6 -3乘法: A*Bans = 26 38 26 71 83 7145 62 43除法: magic(3)/hilb(3)ans = 1.0e+003 * 0.2160 -1.1760 1.1400 0.0570 -0.4080 0.4500 -0.2280 1.2240 -1.1400在MATLAB中,有一种特殊的运算,因为

12、其运算符是在有关算术运算符前面加点,所以叫点运算.点运算符有.*、./、.和.两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同. A.*Bans = 8 2 18 12 25 42 8 27 10MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于). ABans = 0 1 0 1 0 0 0 0 1MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非). 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示.设参与逻辑运算的是两个标量a和b,那么, a&b a,b全为非零时,运算结果为1,否则为0. a|b a

13、,b中只要有一个非零,运算结果为1. a 当a是零时,运算结果为1;当a非零时,运算结果为0.3. 矩阵操作和矩阵函数矩阵通过下标引用矩阵的元素,矩阵元素的序号就是相应元素在内存中的排列顺序.在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推.(1) 矩阵拆分利用冒号表达式获得子矩阵.A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素.A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素.此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵.end表示某一维的末尾元素下标.(2) 利用空矩阵删除矩阵的元素在MATLAB中,定义为空矩阵.给变量X赋空矩阵的语句为X=.(3) 矩阵的转置转置运算符是单撇号().(4) 矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略.(5) 矩阵的左右翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,依次类推.MATLAB对矩阵A实施左右翻转的函数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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