ImageVerifierCode 换一换
格式:DOCX , 页数:70 ,大小:646.29KB ,
资源ID:10547912      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10547912.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab数据处理与分析.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Matlab数据处理与分析.docx

1、Matlab数据处理与分析仲恺农业工程学院自编教材MATLAB数据处理与分析V12胡小健 吴东庆 王 前 高川翔 杨志伟 编(公选课专用)仲恺农业工程学院二九年十二月印前 言MATLAB一直是国际科学界应用和影响最广泛的软件工具,有着Mathematica和Maple无法比拟的优势和适用面。它不仅仅是一款数学软件,应用于微积分、概率统计、复变函数、线性变换、解方程、最优化、插值及数据显示等方面,也应用于模糊逻辑、小波分析、神经网络、图像处理、模式识别方面求解。另外数字信息处理、系统仿真、自动化、工程力学、信息与系统、模拟电路等方面都广泛的应用。使用好的数据处理方法和相应的软件工具对实验数据进行

2、处理是大学理工数各专业学生应具备的基本技能,对于相关课程的学习也非常重要。MATLABT优点众多,本书只是重点讨论MATLAB在数据处理方面的应用。具体包括以下方面的内容:1MATLAB安装及界面使用详解;2数组与矩阵及其运算;3MATLAB常用数值计算;4代数方程与最优化;5符号计算;6插值与拟合;7数据与函数的显示。在阅读过程中,要求上机执行书中的相关程序代码,熟练书的相关知识,要求勤查MATLAB自带的帮助系统,才能起到很好的学习效果。目 录第一章 MATLAB的安装和界面使用 11.1. MATLAB安装 11.2. MATLAB的启动与界面详解 41.3. MATLAB的帮助详解 7

3、第二章 数组与矩阵的概念及其运算 82.1. 数组与矩阵的概念 82.2. 矩阵的创建和操作 92.3. 矩阵的访问操作 102.4. 矩阵的基本运算操作 112.5. 非数、关系运算与逻辑操作 132.6. 小结、综合举例与练习 15第三章 矩阵的基本特征参数 163.1. 矩阵的基本参数 163.2. 矩阵的行列式、秩与范数 163.3. 条件数、矩阵的稳定性 173.4. 特征值、特征向量与对角化 183.5. 小结、综合举例与练习 18第四章 微积分学中的基本求解问题 194.1. 符号运算简介 194.2. 符号对象的精度控制 204.3. 极限求解 204.4. 导数及其几何应用

4、214.5. 各种积分问题 224.6. 级数问题求解 23第五章 代数方程与最优化 255.1. 代数方程 255.2. 无条件最优化问题求解 265.3. 线性规划求解 28第六章 数据与函数的可视化显示 306.1. 二维显示 306.2. 三维显示 346.3. 简捷绘图指令 366.4. 作业练习 37第一章 MATLAB的安装和界面使用 本章详细讲述MATLAB R2007a的安装和界面的使用。.1. MATLAB安装 首先双“setup.exe”之后,出现如图1-1的“Welcome to the MathWorks Installer”窗口,然后点击“Next”按钮。1-1进入

5、图1-2的“License Information”窗口,在Name框和Organization输入1-2相应名称(自行命名)。然后安装目录下的“serial.txt”文件,将序列号复制到“Please enter your Personal License Password(PLP)”框中,然后点击“Next”按钮。待少许时间,防火墙会提示是否允许访问网络的提示框,如瑞星防火墙会出如下图1-3的对话框。1-3选择“总是允许”,并按“确定”。进入“MathWorks Account”对话框 如图1-4。图1-4选择“Install the product versions from my DV

6、D or local disk only”选项按钮,进入“License agreement”对话框,然后选择“Yes”按钮。 图1-5进入“Installation Type”对话框,如图1-6所示,然后 选择“Typical”按钮,点击“Next”。图1-6然后进入“”对话框,如图1-7所示。可以更改安装目录,也呆保持默认。如果系统盘的空间不空,则应更改安装目录,以保证机器的正确运行。图1-7在接下来的步骤中,皆选择“Next”按钮,即可。.2. MATLAB的启动与界面详解 在开始菜单中,选择:开始程序MATLABR2007amatlab R2007a,如图1-8所示。图1-8然后进入M

7、ATLAB应用程序主界面,如图1-9所示。最上方是标题栏,显示版本信息:MATLAB 7.4.0 (R2007a):再往下的一栏是菜单栏:图1-9接下来是工具栏:其中是指定当前工作路径,如果要向某文件夹中读取或保存相关内容,则通过点击,然后选择该文件夹作为当前工作路径。然后点击左侧的,则会出现Current Directory对话框如图1-10所示,用来显示当前路径中的文件信息。它和Workspace处于同一具标签对话框中。图1-10右侧是Command Window窗口,如图1-11所示,是用来输入MATLAB指令的。一打开MATLAB则在Command Window中会出现“”,此符号表示

8、MATLAB软件已准备好了,正在待命令的输入。如输入指令:A =1 2 3然后回车,则出现运算结果:A = 1 2 3 此指令表示输入一个一行三列的矩阵(即行向量),并将此矩阵(向量)保存在变量A中。关于矩阵及向量向量,在第二章中详细解释。图1-11指令执行完毕之后,会发现左下方的Command History窗口中会多出现一行刚刚输入的指令。如图1-12所示,Command History是用来保存输入过的命令,方便以后查找或再次使用。同时Workspace标签属性页也会多出一行。如图1-12所示,Current Directory是用来显示可用的各种变量的。图中说是说明了刚才得到的变量A,

9、它的值、最小、最大元素及类型等信息。 图1-12 图1-13在上任一处右击,然后在弹出菜单上选择需要查看的相关信息。如图1-14所示。如果需要用到以前的命令,可以在Command History窗口中查到,可按日期查找,可以选择单条历史命令,也可以同时选择多条历史记录。然后右选择复制,将其粘贴到Command Window窗口中执行。也可将其作为文本复制到Word文档或txt文档中。如果双击历史记录中的命令,则系统会立即执行被双击的命令一次。如果Command History窗口中一些命令不需要,可以一条或多条记录,然后按“Delete”键,将之删除。 图1-14 图1-15.3. MATLA

10、B的帮助详解 点击主菜单中的HellpMATLAB Help或直接按F1,进入MATLAB自带的帮助界面,如图1-16所示。点击各个节点可以查看相关帮助信息。帮助文件里有详细的解释和丰富的实例。图1-16由帮助界面,可以看出MATLAB的强大功能,它可以与主流的软件开发工具进行混合编程开发。与Java和.Net无缝对接。只有勤查帮助或网上查找资料才能起到事半功倍的学习效果。第二章 数组与矩阵的概念及其运算在MATLAB中预定了一些符号,用于特定的含义,以下是一些预定义的符号:表2-1符号意义符号意义ans默认变量名pi圆周率eps机器可识别的最小的数flops浮点运算之数inf无穷大NaN非数

11、i或j虚数单位realmax最大的实数realmin最小的实数intmax最大的整数其余的请参看联机帮助系统。.1. 数组与矩阵的概念MATLAB中,数组和矩阵本身是没有区别的,在内存中是一样的。只是针对不同的运算方式,将其为数组运算或矩阵运算。如果运算是按元素对应进行的,则称为数组运算。如果按线性代数学中的方式运算,则称为矩阵运算,如例2-1例2-1 数组与矩阵的区别演示。设有矩阵A和B如下:以数组方式运算方式:,其中Inf表示无穷大(非数)MATLAB指令:A=1 2;3 4 %输入的矩阵保存在变量A中A = -1 1 0 2 B=-1 1;0 2 %输入的矩阵保存在变量B中B = -1

12、1 0 2A.*B %以数组方式相乘,ans = -1 2 0 8A./B %以数组方式相除ans = -1 2 Inf 2几点说明:1、MATLAB中,矩阵(数组)按元素逐个输入的方法,就是将所有元素放在一对方括号内,行与行之间以分号“;”隔开,每一行中各元素之间以空格或逗号隔开。详细说明参看2.2节内容;2、MATLAB指令输入时,必需在英文状态下输入,否则会出错;3、如果一条指令以分号“;”作为结束符,则运算结果并不显示在Command Window窗口中,但保存在Workspace中。如果没有分号,则将结果显示在Command Window中;4、百分号“%”表示注释,从开始到行未为方

13、便人阅读所加的注释,不是指令中的一部分;5、注意数组方式运算有一个小黑点“.”;6、本书中凡MATLAB指令都用加粗字体;7、MATLAB中变量无需要声明就可直接使用,根据赋值符号“”右则表达式的类型来自动确定左侧的类型。如A=-1 1;0 2,A表示一个2阶矩阵。以矩阵方式运算(即按线性代数中的矩阵运算):当然,矩阵的加法和减法两种方式都是一样的,MATLAB指令:A*B %矩阵方式相乘ans = -1 5 -3 11A/B %矩阵方式相除ans = -1.0000 1.5000 -3.0000 3.5000注意:如本书中后面内容只提及矩阵,只有当涉及到数组方式的运算时才将矩阵称为数组。.2

14、. 矩阵的创建操作 在MATLAB中,有两种创建矩阵的方法。一是直接按元素逐个输入的方法,如例2-1所示;另一种就是使用MATLAB相关的指令来创建。一、直接输入元素创建直接按元素逐个输入来创建矩阵,就是将所有元素放在一对方括号内,行与行之间以分号“;”隔开,每一行中各元素之间以空格或逗号隔开。只有一行的矩阵称为行向量(也称为一维数组),只有一列的矩阵称为列向量。此方法可创建向量和矩阵。例2-2 直接输入创建向量和矩阵演示。vr = 1 2 3 4 %创建行向量,元素之间以空格隔开vr = 1 2 3 4vc = 1;2;3 %创建列向量,行之间以分号隔开vc = 1 2 3m23=1 2 3

15、;4 5 6 %创建一个23行的矩阵m23 = 1 2 3 4 5 6二、MATLAB指令创建在MATLAB中指令,更多时候也称为函数。可以使用MATLAB内置的函数来创建矩阵(数组)。以下以举例的方式说明。例2-3 通过MATLAB指令创建向量和矩阵演示:1、指定起点:步长:终点。如果不指定步长,则将步长默认为1,最后一个元素不一定是终点,这取决于区间长度是否为步长的整数倍。该方法用于创建向量。v = 0:0.2:1 %以0为起点、1为终点、步长为0.2创建一个数组(行向量)v = 0 0.2000 0.4000 0.6000 0.8000 1.0000v = 0:pi %起点0、终点pi、

16、默认步长1。最后一个元素不是终点。v = 0 1 2 32、linspace(起点,终点,元素个数),等分间隔。该方法用于创建向量。v = linspace(0,pi,3)v = 0 1.5708 3.1416v = linspace(0,3,5)v = 0 0.7500 1.5000 2.2500 3.00003特殊矩阵的创建。创建特殊矩阵的常用函数:rand、magic、zeros、ones和eye等,需要深入研究请参看联机帮助。rand(state,0) %把均匀分布伪随机发生器置为0状态v = rand(2,3) %产生一个23的随机矩阵v = 0.9501 0.6068 0.8913

17、 0.2311 0.4860 0.7621m = magic(3) %产生一个3阶魔方矩阵m = 8 1 6 3 5 7 4 9 2zeros(3) %产生一个3阶零矩阵ans = 0 0 0 0 0 0 0 0 0zeros(2,3) %产生一个23的零矩阵ans = 0 0 0 0 0 0eye(2,3) %产生一个23的矩阵,左边22是一个单位矩阵ans = 1 0 0 0 1 0eye(3) %产生一个3阶单位矩阵ans = 1 0 0 0 1 0 0 0 1ones(2,3) %产生一个元素全为1的23阶矩阵ans = 1 1 1 1 1 1另外还有其它特殊的矩阵创建函数,如有需要请

18、参看帮助。.3. 矩阵的访问操作 以下以举例的方式说明矩阵的访问操作如下:例2-4矩阵访问举例演示:v = 1 2 3 4 5 6 7; %生成一个行向量v(3) %查询第三个元素的值 ans = 3v(3)=23 %将第三个元素的值设为23v = 1 2 23 4 5 6 7v(1 2 6)=11 12 16 %将下标为1、2、6的三元素的值设为11、12、16v = 11 12 23 4 5 16 7v(4:end) %查询第4至最后元素之间的所有元素ans = 4 5 16 7v(1:5) % 查询第1至5个元素ans = 11 12 23 4 5m=1 2 3;4 5 6 %产生一个新

19、矩阵mm = 1 2 3 4 5 6m(2,3) %查询第2行第3列位置上的元素ans = 6m(:,2) %查询第2列元素上所有行的元素ans = 2 5m(2,:) %查询第2行上所有列的元素ans = 4 5 6m(2,1 2) %查询第2行上的第1、2列位置上的元素ans = 4 5m(1,2 3)=88 99 %将第1行上的第2、3列上的元素分别设为88和99m = 1 88 99 4 5 6m(2,2)=518 %将第2行2列位置上的元素设为518m = 1 88 99 4 518 6.4. 矩阵的基本运算操作 矩阵的常用基本运算有加、减、乘、除、求逆等。数组方式和矩阵方式的运算符

20、只差了一个小圆点,注意观察实例代码。1、加法和减法数组方式和矩阵方式都是一样的,就是直接将对应位置上的元素相加。如果是一个数和矩阵相加,则矩阵的每一个元素都加上这个数。例2-4矩阵加法操作演示:A=magic(3) %产生一个魔方矩阵A = 8 1 6 3 5 7 4 9 2B = ones(3) %产生一个元素全为1的矩阵B = 1 1 1 1 1 1 1 1 1A+B %矩阵的加法ans = 9 2 7 4 6 8 5 10 32+A %数与矩阵的加法ans = 10 3 8 5 7 9 6 11 42、乘法、除法与逆运算数组方式的乘法和除法是依元素对应相乘;矩阵方式的乘法则是按线性代数中

21、的方法进行,矩阵的除是按线性代数中的取逆进行。左除:A/B,相当于A*B-1,右除:AB,相当于A-1*B。逆运算按线性代数中的方法进行。例2-5矩阵乘、除操作演示 A=magic(3); B=ones(3); A.*B %数组方式的乘法ans = 8 1 6 3 5 7 4 9 2A*B %矩阵方式的乘法ans = 15 15 15 15 15 15 15 15 15M=1,2;2 1 M = 1 2 2 1B=1 -1;1 0 B = 1 -1 1 0A./B %维数不匹配,将会出错? Error using = rdivideMatrix dimensions must agree.M.

22、/B %数组方式的除法ans = 1 -2 2 InfB./M %数据方式的除法ans = 1.0000 -0.5000 0.5000 0M/B %矩阵方式的除法ans = -2 3 -1 3M*inv(B) %以矩阵方式运算,M乘以B的逆矩阵ans = -2 3 -1 3inv(B) %计算B的逆ans = 0 1 -1 13、矩阵作为函数参数如果矩阵(数组)作为标准数学函数的参数,则对每一个元素都作同一函数计算。如V是一个行向量,R = sin(V)的运算结果R也是一个行向量,且R是的每一个元素都是由V中对应元素值求正弦值得到。例2-6矩阵作为函数参数演示v = 0 pi/2 pi 3*p

23、i/2 2*pi %产生一个有4个元素的行向量v = 0 1.5708 3.1416 4.7124 6.2832r=sin(v) %计算结果也是一个向量,和v的元素个相同r = 0 1.0000 0.0000 -1.0000 -0.00004、常用的矩阵操作函数常用的矩阵操作函数如左右置换、上下置换、旋转,以下举例说明。例2-7矩阵常用操作演示A = magic(3) A = 8 1 6 3 5 7 4 9 2flipud(A) %矩阵上下翻转ans = 4 9 2 3 5 7 8 1 6fliplr(A) %矩阵左右翻转ans = 6 1 8 7 5 3 2 9 4rot90(A) % 矩阵

24、旋转90度ans = 6 7 2 1 5 9 8 3 4.5. 非数、关系运算与逻辑操作 1、非数NaN当表达式中如果分母出现零,或类似于的表达式运算时都会产生非数NaN,即Not a number。NaN具有如下性质:NaN参与的运算结果也是NaN;非数没有大小的概念,因此不能将两非数去比较大小。非数真实的记录了运算结果,即数学中的无限变换趋,以下举例说明。例2-8非数使用演示log(0) %即相当于自变量趋向0时的极限为负无穷大ans = -Inft = 1/0 %相当于分母从右侧趋向趋向0时的极限为无穷大t = Infcos(t) %对非数计算余弦结果为非数ans = NaN非数要用于数

25、据可视化中,如将图中某一指定部分镂空,将用到非数,详见第七章。2、关系运算与逻辑运算关系操作符有:= =或eq(A,B),=或ne,或gt,=或ge,以及&或and、|或or和或nor等具体函数要求自行查阅帮助系统。另外有关函数如下:all, any, isqual, iempty, isfinite, isinf, isnan, isnumeric, isreal, isprime, isspace, isstr, ischar, isstudent, isunix, isvms, find.列表如下,详情请参看联机帮助。关系运算符如下表2-2关系运算符功能关系运算符功能=大于或等于大于=不

26、等于例2-9关系运算与逻辑矩阵使用演示A=1 5 9;3 4 7;2 6 8 A = 1 5 9 3 4 7 2 6 8B = magic(3) B = 8 1 6 3 5 7 4 9 2C = gt(A,B) 比较大小Greater thanC = 0 1 1 0 0 0 0 0 1whos C %查看C的详细信息 Name Size Bytes Class Attributes C 3x3 9 logicalD = and(A,B) %求和运算D = 1 1 1 1 1 1 1 1 1B3 %B中元素值大于1的位置对应1否则对应0,结果是一个逻辑矩阵ans = 1 0 1 0 1 1 1

27、1 0B(find(B3) %将B中元素值大于3的元素列出来ans = 8 4 5 9 6 7r,c = find(B3) %元素值大于3的行号组成的数组r,列号组成数组cr = 1 3 2 3 1 2c = 1 1 2 2 3 3B.*(B3) %B中不大于3位置上的元素设为零ans = 8 0 6 0 5 7 4 9 0例2-10 绘制0,3pi之间的曲线,并截去pi至2pi之间的曲线。x = linspace(0,3*pi); 自变量数组y = sin(x); 函数数组x1 = (x2*pi); 逻辑数组y1 = x1.*y; 截断数组plot(x,y1); 绘图.6. 小结、综合举例与

28、练习 例2-11综合举例,利用关系运算求近似极限,修补图形缺口。t=-2*pi:pi/10:2*pi; 自变量数组y=sin(t)./t; 函数值数组tt=t+(t=0)*eps; 修正后的自变量数组,元素值为零时,以最小机器数代替yy=sin(tt)./tt; 修正后的函数值数组subplot(1,2,1),plot(t,y),axis(-7,7,-0.5,1.2), 绘制没有修正的图形subplot(1,2,2),plot(tt,yy),axis(-7,7,-0.5,1.2) 绘制修正后的图形图2-1第三章 矩阵的基本特征参数本章简要说明反映矩阵特征参数的一些量,如行列式、秩、条件数、范数

29、、特征值与特征向量等问题。.1. 矩阵的基本参数以一下说明有矩阵信息的基本参数1、元素个数、行列数及其最大者、元素最大最小元素例3-1矩阵基本信息查询演示M = magic(3) M = 8 1 6 3 5 7 4 9 2numel(A) %统计矩阵的元素个数ans = 9size(M) %计算矩阵的行列数ans = 3 3length(A) %计算行数与列数中的最大者ans = 3max(M(:) %求出矩阵中所有元素中的最大者ans = 9min(M(:) %求出矩阵中所有元素中的最小者ans = 1.2. 矩阵的行列式、秩与范数计算行列式、秩及范数的指令分别是det、rank和norm例3-2矩阵行列式、秩与范数使用演

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2