版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、L/O/G/O 2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程编程入门培训课程 桂林理工大学理学院信息与计算科学教研室 艾武 桂林理工大学理学院信息与计算科学教研室 2 学习方法学习方法 MATLAB 基础入门 MATLAB简介 MATLAB基本操作 MATLAB常用命令 设计提高 MATLAB数组运算 MATLAB矩阵运算 MATLAB程序设计 综合应用 MATLAB数值实验 MATLAB统计实验 MATLAB优化实验 桂林理工大学理学院信息与计算科学教研室 3 课程目录课程目录 MATLAB简介简介 1 MATLAB语言基础语言基础 2 MATLAB数值计算数值
2、计算 3 MATLAB程序设计程序设计 4 MATLAB绘图绘图 5 桂林理工大学理学院信息与计算科学教研室 4 1. MATLAB简介简介 桂林理工大学理学院信息与计算科学教研室 5 1. MATLAB简介简介 1.1 MATLAB发展历史发展历史 1.2 MATLAB应用领域应用领域 1.3 MATLAB工具箱工具箱 1.4 MATLAB安装文件安装文件 1.5 MATLAB操作界面操作界面 1.6 MATLAB文件类型文件类型 1.7 MATLAB常用命令常用命令 1.8 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 6 1. MATLAB简介简介 MatlabMatrix
3、Laboratory Cleve Moler MatlabMatrix Laboratory, 该语言是美国该语言是美国New Mexico 大学计算机系主任大学计算机系主任Cleve Moler在在70年代后期首先设计的年代后期首先设计的. 并于并于80年代初开发了第二代专业版年代初开发了第二代专业版. 1984年年, Cleve Moler和和John Litter成立了成立了Math works公公 司司, 并开始把并开始把Matlab推向市场推向市场. (迈斯沃克公司)(迈斯沃克公司) http:/ 1.1 MATLAB发展历史发展历史 桂林理工大学理学院信息与计算科学教研室 7 1.
4、 MATLAB简介简介 目前,目前,Matlab 已经成为国际上最流行的科学与工程计算的软件已经成为国际上最流行的科学与工程计算的软件 工具,它已经不仅仅是一个工具,它已经不仅仅是一个“矩阵实验室矩阵实验室”了,而成为了一种具有了,而成为了一种具有 广泛应用前景的全新的计算机高级编程语言广泛应用前景的全新的计算机高级编程语言,有人称它为有人称它为“第四代第四代” 计算机语言。计算机语言。 就影响而言,至今仍然没有一个别的计算软件可与就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。匹敌。 Mathematica Maple SAS SPSS Eviews LINGO LINDO
5、 在欧美各高等院校,在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数已经成为线性代数、自动控制理论、数 字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本 教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。 1.2 MATLAB应用领域应用领域 桂林理工大学理学院信息与计算科学教研室 8 1. MATLAB简介简介 Matlab Main ToolboxMatlab主工具箱主工具箱 Control System Toolbox控制系统工具箱控制
6、系统工具箱 Communication Toolbox通讯工具箱通讯工具箱 Financial Toolbox财政金融工具箱财政金融工具箱 System Identification Toolbox系统辨识工具箱系统辨识工具箱 Fuzzy Logic Toolbox模糊逻辑工具箱模糊逻辑工具箱 Higher-Order Spectral Analysis Toolbox高阶谱分析工具箱高阶谱分析工具箱 Image Processing Toolbox图像处理工具箱图像处理工具箱 LMI Control Toolbox线性矩阵不等式工具箱线性矩阵不等式工具箱 Model predictive C
7、ontrol Toolbox模型预测控制工具箱模型预测控制工具箱 -Analysis and Synthesis Toolbox分析工具箱分析工具箱 1.3 MATLAB工具箱工具箱 桂林理工大学理学院信息与计算科学教研室 9 1. MATLAB简介简介 Optimization Toolbox优化工具箱优化工具箱 Partial Differential Toolbox偏微分方程工具箱偏微分方程工具箱 Robust Control Toolbox鲁棒控制工具箱鲁棒控制工具箱 Signal Processing Toolbox信号处理工具箱信号处理工具箱 Spline Toolbox样条工具箱
8、样条工具箱 Statistics Toolbox统计工具箱统计工具箱 Symbolic Math Toolbox符号数学工具箱符号数学工具箱 Simulink Toolbox动态仿真工具箱动态仿真工具箱 System Identification Toolbox系统辨识工具箱系统辨识工具箱 Wavelet Toolbox小波工具箱小波工具箱 1.3 MATLAB工具箱工具箱 桂林理工大学理学院信息与计算科学教研室 10 1. MATLAB简介简介 1.4 MATLAB安装文件安装文件 桂林理工大学理学院信息与计算科学教研室 11 1. MATLAB简介简介 1.5 MATLAB操作界面操作界面
9、快捷键快捷键F5运行运行 桂林理工大学理学院信息与计算科学教研室 12 1. MATLAB简介简介 1.6 MATLAB文件类型文件类型 .mm文件文件 .matdata文件文件 .figfigure文件文件 .mdlmodel文件文件 .cdrstateflow文件文件 .rptreport generator文件文件 桂林理工大学理学院信息与计算科学教研室 13 1. MATLAB简介简介 help 帮助查询帮助查询 lookfor帮助查询帮助查询 demo演示文档演示文档 clc删除命令窗口的内容(已使用过的命令)删除命令窗口的内容(已使用过的命令) clear删除内存中的变量(数据)删
10、除内存中的变量(数据) clf删除图形窗口的内容删除图形窗口的内容 who列出在列出在MATLAB工作空间中已有的变量工作空间中已有的变量 whos列出驻留变量的同时列出驻留变量的同时,还给出维数及性质还给出维数及性质 home光标移到命令窗口的左上角光标移到命令窗口的左上角 调出刚才使用过的命令调出刚才使用过的命令 quit退出退出MATLAB Ctrl+C中断程序运行中断程序运行 1.7 MATLAB常用命令常用命令 桂林理工大学理学院信息与计算科学教研室 14 1. MATLAB简介简介 version显示显示matlab版本版本 what列出当前目录下的列出当前目录下的.m文件和文件和
11、.mat文件文件 which 显示某个文件的路径显示某个文件的路径 load name下载下载name文件中的所有变量到工作空间文件中的所有变量到工作空间 load name x y下载下载name文件中的变量文件中的变量x, y到工作空间到工作空间 save name保存工作空间变量到文件保存工作空间变量到文件name.mat中中 save name x y保存工作空间变量保存工作空间变量x, y到文件到文件name.mat中中 size (变量名)(变量名)显示当前工作空间中变量的尺寸显示当前工作空间中变量的尺寸 length (变量名)(变量名)显示当前工作空间中变量的长度显示当前工作空
12、间中变量的长度 pack整理工作空间内存整理工作空间内存 vpa(x,n)显示显示n位小数的位小数的x disp显示矩阵与文本显示矩阵与文本 1.7 MATLAB常用命令常用命令 桂林理工大学理学院信息与计算科学教研室 15 1. MATLAB简介简介 1.8 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 16 2. MATLAB语言基础语言基础 桂林理工大学理学院信息与计算科学教研室 17 2. MATLAB语言基础语言基础 2.1 MATLAB数据类型数据类型 2.2 MATLAB数组运算数组运算 2.3 MATLAB向量运算向量运算 2.4 MATLAB矩阵运算矩阵运算 2.
13、5 MATLAB字符串运算字符串运算 2.6 MATLAB关系运算关系运算 2.7 MATLAB逻辑运算逻辑运算 2.8 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 18 2. MATLAB语言基础语言基础 2.1 MATLAB数据类型数据类型 MATLAB Matlab数据类型 1. 数值型数值型 2. 字符字符串字符字符串 3. 元胞数组元胞数组 4. 架构数组架构数组 桂林理工大学理学院信息与计算科学教研室 19 2. MATLAB语言基础语言基础 2.1 MATLAB数据类型数据类型变量变量 Matlab中变量名是以字母开头,可以由字母、数字或下划线组成中变量名是以字母开
14、头,可以由字母、数字或下划线组成 Matlab 区分大小写,它的命令和函数全是小写的区分大小写,它的命令和函数全是小写的 Matlab变量名不超过变量名不超过31个字符个字符 桂林理工大学理学院信息与计算科学教研室 20 2. MATLAB语言基础语言基础 2.1 MATLAB数据类型数据类型常量常量 ansMatlab中的默认变量中的默认变量 pi圆周率圆周率 eps计算机中的最小数,浮点运算的相对精度计算机中的最小数,浮点运算的相对精度 inf无穷大,如无穷大,如 1/0 NaN不定值,如不定值,如 0/0、0* i 或或 j复数中的虚数单位复数中的虚数单位 realmin最小可用正实数最
15、小可用正实数 realmax最大可用正实数最大可用正实数 桂林理工大学理学院信息与计算科学教研室 21 2. MATLAB语言基础语言基础 2.1 MATLAB数据类型数据类型数字显示格式命令数字显示格式命令 format short5位定点表示位定点表示 format long15位定点表示位定点表示 format short e5位浮点表示位浮点表示 format long e15位浮点表示位浮点表示 format short g5位定点和位定点和5位浮点中自动选择最好格式表示位浮点中自动选择最好格式表示 format long g15位定点和位定点和15位浮点中自动选择最好格式表示位浮点
16、中自动选择最好格式表示 format hex16进制格式表示进制格式表示 format +在矩阵中,用符号在矩阵中,用符号+、-和空格表示正号、负号和零和空格表示正号、负号和零 桂林理工大学理学院信息与计算科学教研室 22 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算表达式表达式 Matlab中的表达式由运算符、函数、变量名和数字组成中的表达式由运算符、函数、变量名和数字组成 Matlab 语句由变量和表达式组成,有两种常见形式:语句由变量和表达式组成,有两种常见形式: 形式形式1:表达式:表达式 形式形式2:变量:变量=表达式表达式 若不想显示形式若不想显示形式1
17、或或2的运算结果,可在表达式后加分号的运算结果,可在表达式后加分号“;” 桂林理工大学理学院信息与计算科学教研室 23 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算运算符运算符 + 加法加法- 减法减法 * 乘法乘法.* 点乘点乘 / 除法除法./ 点除点除 乘幂乘幂. 点乘幂点乘幂 左除左除. 点左除点左除 桂林理工大学理学院信息与计算科学教研室 24 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算数组的构造数组的构造 x=0 1 3 5 7 9 10 x=0,1,3,5,7,9,10 x= 0 1 3 5 7 9 10 手动法手动法数组
18、用中括号,以数组用中括号,以空格空格或或逗号逗号为间隔输入元素为间隔输入元素 桂林理工大学理学院信息与计算科学教研室 25 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算数组的构造数组的构造 x=0:0.5:2 x= 0 0.5000 1.0000 1.5000 2.0000 冒号法冒号法a:步长步长:b a:b (默认(默认 步长步长=1) y=0:5 y= 0 1.0000 2.0000 3.0000 4.0000 5.0000 桂林理工大学理学院信息与计算科学教研室 26 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算数组的构造数组的构
19、造 x=linspace(0,pi,12) x= 0 0.2856 0.5712 0.8568 1.1424 1.4280 1.7136 1.9992 2.2848 2.5704 2.8560 3.1416 函数法函数法linspace(a,b,n) 从从a开始,到开始,到b结束,包含结束,包含n个数据元素的数组个数据元素的数组 a:(b-a)/(n-1):b 桂林理工大学理学院信息与计算科学教研室 27 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算数组的引用数组的引用 x=1 2 3 4 5 x(1:3) ans= 123 x(n) 表示数组中的第表示数组中的第n
20、个元素个元素 x(n1:n2) 表示数组中的第表示数组中的第n1到到n2个元素个元素 桂林理工大学理学院信息与计算科学教研室 28 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算矩阵数组矩阵数组 A=2, 4, 6, 8;1 3 5 7; 0 0 0 0;1,0,1,0 2468 1357 0000 1010 A 以以空格空格或或逗号逗号分隔,指定不同的分隔,指定不同的列列 以以分号分号或或回车回车分隔,指定不同的分隔,指定不同的行行 (10)5A 桂林理工大学理学院信息与计算科学教研室 29 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算四
21、则运算四则运算 数组与标量间的四则运算数组与标量间的四则运算 x=1 3 4; 2, 6, 5; 3 2,4 a=2*x-2 a= 0 4 6 2 10 8 4 2 6 134 265 324 桂林理工大学理学院信息与计算科学教研室 30 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算四则运算四则运算 134 265 324 数组间的四则运算,必须具有相同的维数,对应元素进行运算数组间的四则运算,必须具有相同的维数,对应元素进行运算 + - .* ./ . a=1 3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3 c= 3 6 5 6 7 7
22、 7 7 7 231 412 453 c=a+b 桂林理工大学理学院信息与计算科学教研室 31 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算四则运算四则运算 134 265 324 a=1 3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3 c= 2 9 4 8 6 10 12 10 12 231 412 453 c=a.*b d=a./b d= 0.5000 1.0000 4.0000 0.5000 6.0000 2.5000 0.7500 0.4000 1.3333 a./b=b.a 桂林理工大学理学院信息与计算科学教研室 32 2. M
23、ATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算幂运算幂运算 134 265 324 数组的幂运算数组的幂运算 . a=1 3 4;2, 6, 5;3 2,4 c=a.2 c= 1 9 16 4 36 25 9 4 16 d= 19 29 35 29 52 58 19 29 38 d=a2 桂林理工大学理学院信息与计算科学教研室 33 2. MATLAB语言基础语言基础 2.2 MATLAB数组运算数组运算幂运算幂运算 134 265 324 a=1 3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3 c= 1 27 4 16 6 25 81 32 64
24、 231 412 453 c=a.b 桂林理工大学理学院信息与计算科学教研室 34 2. MATLAB语言基础语言基础 2.3 MATLAB向量运算向量运算点积点积 c=dot(a,b)c=ab,相当于,相当于a*b(a与与b都是行向量都是行向量) a=2 4 5 3 1 b=3 8 10 12 13 c= 137 c=dot(a,b) 桂林理工大学理学院信息与计算科学教研室 35 2. MATLAB语言基础语言基础 2.3 MATLAB向量运算向量运算叉积叉积 c=cross(a,b)c=ab,a与与b必须是必须是3维向量维向量 a=2 4 5 b=3 8 10 c= 0-54 c=cros
25、s(a,b) 桂林理工大学理学院信息与计算科学教研室 36 2. MATLAB语言基础语言基础 2.3 MATLAB向量运算向量运算混合积混合积 由由dot和和cross两个函数共同完成两个函数共同完成abc=(ab) c a=2 4 5 b=3 8 10 c= 0-54 c=0 -5 4 d=dot(a,cross(b,c) 桂林理工大学理学院信息与计算科学教研室 37 2. MATLAB语言基础语言基础 2.3 MATLAB向量运算向量运算向量函数向量函数 max求最大值求最大值 min求最小值求最小值 sum求和求和 length求长度求长度 mean求平均值求平均值 median 求中
26、间值求中间值 prod乘积乘积 sort从小到大排序从小到大排序 桂林理工大学理学院信息与计算科学教研室 38 2. MATLAB语言基础语言基础 2.4 MATLAB矩阵运算矩阵运算特殊矩阵特殊矩阵 生成空矩阵生成空矩阵 eye(n,m)生成生成nm单位矩阵单位矩阵 ones(n,m)生成全部元素是生成全部元素是1的矩阵的矩阵 zeros(n,m)生成全部元素是生成全部元素是0的矩阵的矩阵 magic(n)生成魔方矩阵生成魔方矩阵 rand(n,m) 生成生成01之间均匀分布的随机矩阵之间均匀分布的随机矩阵 randn(n,m)生成均值为生成均值为0,方差为,方差为1的标准正态分布的随机矩阵
27、的标准正态分布的随机矩阵 compan(a)生产矩阵生产矩阵a的伴随矩阵的伴随矩阵 桂林理工大学理学院信息与计算科学教研室 39 2. MATLAB语言基础语言基础 2.4 MATLAB矩阵运算矩阵运算矩阵加法矩阵加法 24 18 90 矩阵的四则运算矩阵的四则运算 A=1 2;3 5;2 6 B=2 4;1 8;9 0 C= 3 6 4 13 11 6 C=A+B 12 35 26 桂林理工大学理学院信息与计算科学教研室 40 2. MATLAB语言基础语言基础 2.4 MATLAB矩阵运算矩阵运算矩阵乘法矩阵乘法 241 890 矩阵的四则运算矩阵的四则运算 A=1 2;3 5;2 6 B
28、=2 4 1; 8 9 0 D= 18 22 1 46 57 3 52 62 2 12 35 26 D=A*B 桂林理工大学理学院信息与计算科学教研室 41 2. MATLAB语言基础语言基础 2.4 MATLAB矩阵运算矩阵运算矩阵除法矩阵除法 在在Matlab中矩阵的除法分左除中矩阵的除法分左除“”和右除和右除“/” X=AB 给出线性方程组给出线性方程组 AX=B 的一个解的一个解 X=B/A 给出线性方程组给出线性方程组 XA=B 的一个解的一个解 AB B/A sym(AB,r) = 5/7 1 9/7 -8/7 -1 -6/7 44/7 7 54/7 sym(B/A,r) = -2
29、/7 8/7 13/7 1/7 17/7 25/7 4/7 26/7 37/7 A=B= 310 021 101 123 456 789 桂林理工大学理学院信息与计算科学教研室 42 2. MATLAB语言基础语言基础 2.4 MATLAB矩阵运算矩阵运算矩阵乘幂矩阵乘幂 矩阵的幂运算矩阵的幂运算 A=21 34 20;78 20 21;17 34 31 C=A2 C= 3433 2074 1754 3555 3766 2631 3536 2312 2015 213420 782021 173431 桂林理工大学理学院信息与计算科学教研室 43 2. MATLAB语言基础语言基础 2.4 MA
30、TLAB矩阵运算矩阵运算矩阵转置、逆、行列式矩阵转置、逆、行列式 矩阵的转置、逆运算及行列式运算矩阵的转置、逆运算及行列式运算 A=1 2 0;2 5 -1;4 10 -1 C=A C= 1 2 4 2 5 10 0 -1 -1 120 251 4101 D=inv(A) e=det(A) D= 5 2 -2 -2 -1 1 0 -2 1 e= 1 桂林理工大学理学院信息与计算科学教研室 44 2. MATLAB语言基础语言基础 2.5 MATLAB字符串运算字符串运算常用字符串函数常用字符串函数 size查看字符数组维数查看字符数组维数char把数字转换为字符串把数字转换为字符串 strcm
31、p比较字符串比较字符串strcat字符串连接字符串连接 upper转换为大写转换为大写lower转换为小写转换为小写 findstr在字符串中找字符串在字符串中找字符串strjust对齐字符数组对齐字符数组 strmatch查找匹配字符串查找匹配字符串deblank删除字符串中的空格删除字符串中的空格 桂林理工大学理学院信息与计算科学教研室 45 2. MATLAB语言基础语言基础 2.6 MATLAB关系运算关系运算 关系操作符关系操作符 小于小于 大于大于 = 大于等于大于等于 = 等于等于 = 不等于不等于 运算法则:若关系式成立,结果为运算法则:若关系式成立,结果为1; 若关系式不成立
32、,结果为若关系式不成立,结果为0。 A=1 4 3 5 7 B=2 6 9 0 7 A=B ans= 0 0 0 0 1 桂林理工大学理学院信息与计算科学教研室 46 2. MATLAB语言基础语言基础 2.7 MATLAB逻辑运算逻辑运算 逻辑操作符逻辑操作符 ; 左除如左除如AB,AB,相当于相当于A A* *X=BX=B的解矩阵的解矩阵. . 对于元素,对于元素,右除(右除(./)./)和左除和左除(.)(.)也不相同也不相同 桂林理工大学理学院信息与计算科学教研室 49 2. MATLAB语言基础语言基础 2.8 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 50 3. M
33、ATLAB数值计算数值计算 桂林理工大学理学院信息与计算科学教研室 51 3. MATLAB数值计算数值计算 3.1 多项式运算多项式运算 3.2 多项式插值多项式插值 3.3 多项式拟合多项式拟合 3.4 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 52 3. MATLAB数值计算数值计算 3.1 多项式多项式构造构造 p=2 5 0 4 1 4 poly2sym(p) ans= 2*x5+5*x4+4*x2+x+4 poly2sym(p)p=a0,a1,an,多项式降幂排列系数数组,多项式降幂排列系数数组 桂林理工大学理学院信息与计算科学教研室 53 3. MATLAB数值计
34、算数值计算 3.1 多项式多项式四则运算四则运算 p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p=p1+p2 ans= 2*x5+5*x4+5*x3+5*x2+4*x+6 +、-、conv(p1,p2)、deconv(p1,p2)加减要补零,相同长度加减要补零,相同长度 poly2sym(p) 桂林理工大学理学院信息与计算科学教研室 54 3. MATLAB数值计算数值计算 3.1 多项式多项式四则运算四则运算 p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p=conv(p1,p2) ans= 10*x8+27*x7+11*x6+39*x5+19*x4+3
35、3*x3+15*x2 +14*x+8 +、-、conv(p1,p2)、deconv(p1,p2) poly2sym(p) 桂林理工大学理学院信息与计算科学教研室 55 3. MATLAB数值计算数值计算 3.1 多项式多项式四则运算四则运算 p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p,r=deconv(p1,p2) p= 0.40000.9200-0.4240 r= 0 0 0 0.8640 0.4320 4.8480 +、-、conv(p1,p2)、deconv(p1,p2) 桂林理工大学理学院信息与计算科学教研室 56 3. MATLAB数值计算数值计算 3.1 多
36、项式多项式求导运算求导运算 p1=2 5 0 4 1 4 h=polyder(p1) polyder(p) poly2sym(h) ans= 10*x4+20*x3+8*x+1 桂林理工大学理学院信息与计算科学教研室 57 3. MATLAB数值计算数值计算 3.1 多项式多项式求值运算求值运算 p1=2 5 0 4 1 4 h=polyval(p1,3,4) polyval(p,s) 数组规则数组规则 polyvalm(p,s) 矩阵规则矩阵规则 k=polyvalm(p1,3,4;4,6) h= 934 3400 k= 4341462640 6264090394 桂林理工大学理学院信息与计
37、算科学教研室 58 3. MATLAB数值计算数值计算 3.1 多项式多项式求根运算求根运算 p1=2 5 6 4 1 8 h=roots(p1) roots(p) h= -1.7640 -0.8679 + 1.3394i -0.8679 - 1.3394i 0.5000 + 0.8001i 0.5000 - 0.8001i 桂林理工大学理学院信息与计算科学教研室 59 3. MATLAB数值计算数值计算 3.1 多项式多项式多项式函数多项式函数 conv多项式乘法多项式乘法polyfit多项式拟合多项式拟合 deconv多项式除法法多项式除法法polyval多项式求值多项式求值 poly求矩
38、阵的特征多项式求矩阵的特征多项式polyvalm多项式矩阵求值多项式矩阵求值 polyder多项式求导多项式求导residue部分分式展开部分分式展开 polyeig多项式求特征值多项式求特征值roots求多项式的根求多项式的根 桂林理工大学理学院信息与计算科学教研室 60 3. MATLAB数值计算数值计算 3.2 多项式插值多项式插值 interp1(x,y,x1,method) nearest最近插值最近插值 linear线性插值线性插值 spline三次样条插值三次样条插值 cubic三次插值三次插值 x=4:15; y=5 8 9 15 25 29 31 30 22 25 27 24
39、; x=4:0.5:15; yn=interp1(x,y,x1,nearest); yl=interp1(x,y,x1,linear); ys=interp1(x,y,x1,spline); yc=interp1(x,y,x1,cubic); plot(x,y,o,x1,yn,-); plot(x,y,o,x1,yl,-); plot(x,y,o,x1,ys,-) ; plot(x,y,o,x1,yc,-); 桂林理工大学理学院信息与计算科学教研室 61 3. MATLAB数值计算数值计算 3.3 多项式拟合多项式拟合 x=linspace(x,y,n); y=cos(x); p=polyfi
40、t(x,y,6); y1=polyval(p,x); polyfit(x,y,n) plot(x,y,or,x,y1,-b); 01234567 -1 -0.5 0 0.5 1 1.5 桂林理工大学理学院信息与计算科学教研室 62 3. MATLAB数值计算数值计算 3.4 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 63 4. MATLAB程序设计程序设计 桂林理工大学理学院信息与计算科学教研室 64 4. MATLAB程序设计程序设计 4.1 M文件文件 4.2 数据的输入输出数据的输入输出 4.3 程序结构控制程序结构控制 4.4 上机练习上机练习 桂林理工大学理学院信息与
41、计算科学教研室 65 4. MATLAB程序设计程序设计 4.1 M文件文件局部变量与全局变量局部变量与全局变量 global A B C 无论在脚本文件还是在函数文件中,都会定义一些变量。函数文无论在脚本文件还是在函数文件中,都会定义一些变量。函数文 件所定义的变量是局部变量,这些变量独立于其他函数的局部变量件所定义的变量是局部变量,这些变量独立于其他函数的局部变量 和工作空间的变量,即只能在该函数的工作空间引用,而不能在其和工作空间的变量,即只能在该函数的工作空间引用,而不能在其 他函数工作空间和命令工作空间引用。他函数工作空间和命令工作空间引用。 但是如果某些变量被定义成全局变量,就可以
42、在整个但是如果某些变量被定义成全局变量,就可以在整个MATLAB 工作空间进行存取和修改,以实现共享。因此,定义全局变量是函工作空间进行存取和修改,以实现共享。因此,定义全局变量是函 数间传递信息的一种手段。数间传递信息的一种手段。 桂林理工大学理学院信息与计算科学教研室 66 4. MATLAB程序设计程序设计 4.1 M文件文件M文件的编辑文件的编辑 桂林理工大学理学院信息与计算科学教研室 67 4. MATLAB程序设计程序设计 4.1 M文件文件脚本文件脚本文件 x=linspace(x,y,n); y=cos(x); p=polyfit(x,y,6); y1=polyval(p,x)
43、; 一些命令的集合一些命令的集合 plot(x,y,or,x,y1,-b); 桂林理工大学理学院信息与计算科学教研室 68 4. MATLAB程序设计程序设计 4.1 M文件文件函数文件函数文件 function y=hanshu(x) y=sin(x)+cos(x); function开头,编制一个函数文件,输入什么,输出什么开头,编制一个函数文件,输入什么,输出什么 输出参数表输出参数表=函数名函数名(输入参数表输入参数表)sincosyxx 桂林理工大学理学院信息与计算科学教研室 69 4. MATLAB程序设计程序设计 4.1 M文件文件常用数学函数常用数学函数 sin(x) 正弦正弦
44、asin(x) 反正弦反正弦 cos(x) 余弦余弦acos(x) 反余弦反余弦 tan(x) 正切正切atan(x) 反正切反正切 cot(x)余切余切acot(x)反余切反余切 abs(x)绝对值绝对值max(x)最大值最大值 min(x)最小值最小值sum(x)求和求和 sqrt(x)开平方开平方exp(x)以以e为底的指数为底的指数 log(x)自然对数自然对数log10(x)以以10为底的对数为底的对数 sign(x)符号函数符号函数fix(x)取整取整 桂林理工大学理学院信息与计算科学教研室 70 4. MATLAB程序设计程序设计 4.2 数据输入与输出数据输入与输出键盘输入键盘
45、输入 屏幕输出屏幕输出 x=input(请输入数据); disp(x); inputdisp 桂林理工大学理学院信息与计算科学教研室 71 4. MATLAB程序设计程序设计 4.2 数据输入与输出数据输入与输出M数据文件存储数据文件存储加载加载 save存储存储 save将所有工作空间变量存储在名为将所有工作空间变量存储在名为MATLAB.mat 的文件中的文件中 save filename将所有工作空间变量存储在名为将所有工作空间变量存储在名为filename.mat的的 文件中文件中 save filename X Y Z将工作空间的指定变量将工作空间的指定变量X、Y、Z存储在名为存储在
46、名为 filename.mat的文件中的文件中 桂林理工大学理学院信息与计算科学教研室 72 4. MATLAB程序设计程序设计 4.2 数据输入与输出数据输入与输出M数据文件存储数据文件存储加载加载 load加载加载 load加载名为加载名为MATLAB.mat的文件中的所有变量到的文件中的所有变量到 工作空间工作空间 load filename加载名为加载名为filename.mat的文件中的所有变量到工的文件中的所有变量到工 作空间作空间 load filename X Y Z加载名为加载名为filename.mat的文件中的的文件中的X、Y、Z变量变量 到工作空间到工作空间 桂林理工大
47、学理学院信息与计算科学教研室 73 4. MATLAB程序设计程序设计 4.2 数据输入与输出数据输入与输出外部文件导入外部文件导入 filename, pathname= uigetfile(*.xls); %寻找源文件 file=pathname filename; %赋名 x=xlsread(file); %格式转换为矩阵 之后就用x来代表导入的这个矩阵。 如excel 里输入了 1 2 3 4 5 6 如下命令 x(1,:) ans = 1 2 3 .xlsEXCEL文件数据导入文件数据导入 桂林理工大学理学院信息与计算科学教研室 74 4. MATLAB程序设计程序设计 4.2 数据
48、输入与输出数据输入与输出外部文件导入外部文件导入 a1,a2,a3,a4=textread(test1.txt,%s%s%s%s,headerlines,4) 说明: %s可以是其他形式,跟读入的数据类型有关,比如这里也可以用 %n,%f等。 这里%s的个数和a1,a2,a3,a4对应。 .txt记事本文件数据导入记事本文件数据导入 桂林理工大学理学院信息与计算科学教研室 75 4. MATLAB程序设计程序设计 4.2 数据输入与输出数据输入与输出外部文件导入外部文件导入 file-import data按照提示进行按照提示进行 .xls .txt 桂林理工大学理学院信息与计算科学教研室 7
49、6 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制for循环循环 for循环控制命令循环控制命令 格式: for i=n1:(step):n2 commands; end 作用:重复执行命令集commands. 循环控制命令命令(for命令命令) 桂林理工大学理学院信息与计算科学教研室 77 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制for循环循环 例例1:求和:求和:s=1+2+n n=input(请输入 n=); s=0; for i=1:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s); end 例例2:求奇数和:
50、求奇数和:s=1+3+5+(2k-1) n=input(请输入 n=); s=0; for i=1:2:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s); end 桂林理工大学理学院信息与计算科学教研室 78 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制for循环循环 例例3:求阶乘:求阶乘:p=12 3 n=n! n=input(请输入 n= ); p=1; for i=1:n p=p*i; fprintf( i=%.0f, p=%.0fn ,i,p); end 例例4:求:求e:e=1+1+1/2!+1/3!+1/n! n=input(请输
51、入 n= ); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e); end 桂林理工大学理学院信息与计算科学教研室 79 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制for循环循环 例例5:求:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+ n=input(请输入 n= ); pi=0;k=-1; for i=1:2:n k=(-1)*k; pi=pi+k*1/i; fprintf( i=%.0f, pi=%.8f n ,i,4*pi)
52、; end 桂林理工大学理学院信息与计算科学教研室 80 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制while循环循环 while条件循环命令条件循环命令 条件循环命令命令(while命令命令) 格式: while (condition is true) commands; end 作用:重复执行命令集commands. 桂林理工大学理学院信息与计算科学教研室 81 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制while循环循环 例例6:求和:求和:s=1+2+n3000 s=0;k=1; while s3000 s=s+k; fprintf(
53、 k=%.0f, s=%.0fn ,k,s); k=k+1; end 例例7:求:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8 p=p*i; r=1/p; e=e+r; fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e); i=i+1; end 桂林理工大学理学院信息与计算科学教研室 82 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制if控制控制 if选择控制命令选择控制命令 单项选择控制单项选择控制 格式: if (condition is true) commands; end 作用:若条件成立,则执行命令集 co
54、mmands. 否则,不执行。 桂林理工大学理学院信息与计算科学教研室 83 4. MATLAB程序设计程序设计 4.3 程序结构控制程序结构控制if控制控制 例例8:求:求n个实数中最大的数个实数中最大的数M a=input(请输入数组 an= ); m,n=size(a); M=a(1); for i=2:n if M0 sn=1; elseif x=0 sn=0; else sn=-1; end fprintf(x=%.5f, sn=%.0fn,x,sn); 桂林理工大学理学院信息与计算科学教研室 86 4. MATLAB程序设计程序设计 4.4 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 87 5. MATLAB绘图绘图 桂林理工大学理学院信息与计算科学教研室 88 5. MATLAB绘图绘图 5.1 图形窗口图形窗口 5.2 二维绘图二维绘图 5.3 三维维绘图三维维绘图 5.4 上机练习上机练习 桂林理工大学理学院信息与计算科学教研室 89 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学道德与法治课件 低年级课堂渗透规则意识培养
- 初中英语七年级上册Unit 4 Time to Celebrate核心素养知识清单
- 初中三年级音乐《红色娘子军》选段‘万泉河水清又清’艺术鉴赏与情感体验教学设计
- 统编版小学语文一年级上册《金木水火土》任务驱动式教学设计
- 初中九年级英语学科 Unit 8 Detective Stories 项目式写作与元认知评估教案
- 施工现场宣传标识标牌设置规范
- 2026年酒精原辅料创新应用报告
- 施工混凝土泵送方案
- 锚杆锚索工程施工建设方案
- 泥浆分包合同模板
- 桌凳购销合同协议
- JT-T-1377-2021集装箱自动导引车
- 司炉工安全教育培训
- 玉米与四倍体多年生玉米杂交后代遗传研究的开题报告
- 民事检察监督申请书【六篇】
- 伦理学复习大纲【完】
- GB/T 20320-2023风能发电系统风力发电机组电气特性测量和评估方法
- 法兰盘机械加工工艺过程综合卡片
- 全媒体新闻发布实务知到章节答案智慧树2023年广东外语外贸大学、暨南大学、华南理工大学
- 石厂碎石加工系统运行管理制度
- GB/T 38691-2020石油炼制催化剂比表面积测试方法
评论
0/150
提交评论