2020/2/17高等应用数学问题的MATLAB求解东北大学信息学院1第2章MATLAB语言程序设计基础薛定宇、陈阳泉著《高等应用数学问题的MATLAB求解》,清华大学出版社,2004CAI课件开发:薛定宇、刘莹莹2020/2/172高等应用数学问题的MATLAB求解东北大学信息学院MATLAB语言的简洁高效性MATLAB语言的科学运算功能MATLAB语言的绘图功能MATLAB庞大的工具箱与模块集MATLAB强大的动态系统仿真功能MATLAB是很多理工科专业最适合的计算机数学语言2020/2/173高等应用数学问题的MATLAB求解东北大学信息学院本章主要内容MATLAB程序设计语言基础基本数学运算MATLAB语言流程控制MATLAB函数的编写二维图形绘制三维图形绘制2020/2/174高等应用数学问题的MATLAB求解东北大学信息学院2.1MATLAB程序设计语言基础MATLAB语言的变量名规则由一个字母引导,后面可以为其他字符区分大小写AbcABc有效MYvar12,MY_Var12和MyVar12_错误的变量名12MyVar,_MyVar12MATLAB的保留常量eps,i,j,pi,NaN,Inf,i=sqrt(-1)lastwarn,lasterr2020/2/175高等应用数学问题的MATLAB求解东北大学信息学院数值型数据结构双精度数值变量IEEE标准,64位(8字节),11指数位,53数值位和一个符号位double()函数的转换其他数据类型uint8,常用于图像表示和处理,8位int8(),int16(),int32(),uint16(),uint32()2020/2/176高等应用数学问题的MATLAB求解东北大学信息学院符号型变量数据类型符号型,sym(A),常用于公式推导变量声明采用变精度函数求值【例2-1】求出p的300位有效数字2020/2/177高等应用数学问题的MATLAB求解东北大学信息学院MATLAB支持的其他数据结构基本数值变量类型:双精度复数矩阵字符串型数据:用单引号括起来多维数组:是矩阵的直接扩展,多个下标单元数组:将不同类型数据集成到一个变量名下面,用{}表示结构体:A.b,引用也用A.b,不是A-b类与对象:可以定义重载函数2020/2/178高等应用数学问题的MATLAB求解东北大学信息学院MATLAB的基本语句结构直接赋值语句【例2-2】表示矩阵2020/2/179高等应用数学问题的MATLAB求解东北大学信息学院【例2-3】试输入复数矩阵需要避免的语句2020/2/1710高等应用数学问题的MATLAB求解东北大学信息学院函数调用语句冒号表达式2020/2/1711高等应用数学问题的MATLAB求解东北大学信息学院【例2-4】用不同的步距生成(0,p)间向量2020/2/1712高等应用数学问题的MATLAB求解东北大学信息学院子矩阵提取基本语句格式【例2-5】子矩阵提取提取A矩阵全部奇数行,所有列提取A矩阵3,2,1行、2,3,4列构成子矩阵将A矩阵左右翻转2020/2/1713高等应用数学问题的MATLAB求解东北大学信息学院2.2基本数学运算2.2.1代数运算2.2.2逻辑运算2.2.3比较运算2.2.4解析结果的化简与变换2.2.5基本数论运算2020/2/1714高等应用数学问题的MATLAB求解东北大学信息学院矩阵的代数运算矩阵表示矩阵转置数学表示MATLAB求解2020/2/1715高等应用数学问题的MATLAB求解东北大学信息学院矩阵加减法注意其一为标量的情形矩阵乘法数学表示MATLAB表示注意相容性2020/2/1716高等应用数学问题的MATLAB求解东北大学信息学院矩阵除法矩阵左除:AX=B,求XMATLAB求解:X=A\B最小二乘解矩阵右除:XA=B,求XMATLAB求解:X=B/A最小二乘解2020/2/1717高等应用数学问题的MATLAB求解东北大学信息学院矩阵翻转左右翻转上下翻转旋转90o如何旋转180o?矩阵乘方A为方阵,求MATLAB实现:2020/2/1718高等应用数学问题的MATLAB求解东北大学信息学院点运算矩阵对应元素的直接运算例如2020/2/1719高等应用数学问题的MATLAB求解东北大学信息学院矩阵的逻辑运算逻辑变量:当前版本有逻辑变量对double变量来说,非0表示逻辑1逻辑运算(相应元素间的运算)与运算或运算非运算异或运算2020/2/1720高等应用数学问题的MATLAB求解东北大学信息学院矩阵的比较运算各种允许的比较关系,=,,=,==,~=,find(),all(),any()实例2020/2/1721高等应用数学问题的MATLAB求解东北大学信息学院解析结果的化简与变换其他常用化简函数【例2-6】2020/2/1722高等应用数学问题的MATLAB求解东北大学信息学院基本数论运算2020/2/1723高等应用数学问题的MATLAB求解东北大学信息学院【例2-8】对下面的数据进行取整运算-0.2765,0.5772,1.4597,2.1091,1.191,-1.61872020/2/1724高等应用数学问题的MATLAB求解东北大学信息学院【例2-9】3x3Hilbert矩阵,试用rat()函数变换【例2-10】1856120,1483720,最大公约数、最小公倍数,质因数分解【例2-11】1-1000间质数2020/2/1725高等应用数学问题的MATLAB求解东北大学信息学院2.3MATLAB语言流程控制循环结构for结构while结构2020/2/1726高等应用数学问题的MATLAB求解东北大学信息学院【例2-12】用循环求解【例2-13】用循环求解求最小的m2020/2/1727高等应用数学问题的MATLAB求解东北大学信息学院【例2-14】求2020/2/1728高等应用数学问题的MATLAB求解东北大学信息学院转移结构2020/2/1729高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1730高等应用数学问题的MATLAB求解东北大学信息学院【例2-15】用循环求解求最大的m2020/2/1731高等应用数学问题的MATLAB求解东北大学信息学院2.3.3开关结构2020/2/1732高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1733高等应用数学问题的MATLAB求解东北大学信息学院和C语言的区别当开关表达式的值等于某表达式,执行该语句后结束该结构,不用break同时满足若干个条件之一,则用单元形式otherwise语句,不是default程序的执行结果和各个case顺序无关case语句中条件不能重复,否则列在后面的条件将不能执行2020/2/1734高等应用数学问题的MATLAB求解东北大学信息学院2.4MATLAB函数的编写函数是MATLAB编程的主流方法除了函数外,还可以采用M-script文件M-script适合于小规模【例2-16】若最大值不为10000,需修改程序对m和10000值的设置,不适合于M-script2020/2/1735高等应用数学问题的MATLAB求解东北大学信息学院2.4.1MATLAB语言的函数的基本结构•nargin,nargout,varargin,varargout2020/2/1736高等应用数学问题的MATLAB求解东北大学信息学院【例2-17】前面的要求,m,10000•无需修改程序2020/2/1737高等应用数学问题的MATLAB求解东北大学信息学院【例2-18】•若只给出一个输入参数,则会自动生成一个方阵•在函数中给出合适的帮助信息•检测输入和返回变量的个数editmyhilb2020/2/1738高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1739高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1740高等应用数学问题的MATLAB求解东北大学信息学院【例2-19】函数的递归调用:阶乘2020/2/1741高等应用数学问题的MATLAB求解东北大学信息学院2.4.2可变输入输出个数【例2-21】可以计算两个多项式的积用varargin实现任意多个多项式的积2020/2/1742高等应用数学问题的MATLAB求解东北大学信息学院2.4.3inline函数和匿名函数inline函数,可以免去文件MATLAB7.02020/2/1743高等应用数学问题的MATLAB求解东北大学信息学院2.5二维图形绘制2.5.1二维图形绘制基本语句构造向量:2020/2/1744高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1745高等应用数学问题的MATLAB求解东北大学信息学院2020/2/1746高等应用数学问题的MATLAB求解东北大学信息学院【例2-22】2020/2/1747高等应用数学问题的MATLAB求解东北大学信息学院【例2-23】2020/2/1748高等应用数学问题的MATLAB求解东北大学信息学院图形元素属性获取与修改2020/2/1749高等应用数学问题的MATLAB求解东北大学信息学院2.5.2其他二维图形绘制语句2020/2/1750高等应用数学问题的MATLAB求解东北大学信息学院【例2-24】绘制极坐标曲线周期确定,可以采用试凑方法2020/2/1751高等应用数学问题的MATLAB求解东北大学信息学院【例2-25】用不同曲线绘制函数表示正弦曲线2020/2/1752高等应用数学问题的MATLAB求解东北大学信息学院2.5.3隐函数绘制及应用隐函数【例2-25】2020/2/1753高等应用数学问题的MATLAB求解东北大学信息学院2.5.4图形修饰直接采用工具栏文字修饰特殊符号表下标分别用^和_表示优越性MATLAB7.0的新功能2020/2/1754高等应用数学问题的MATLAB求解东北大学信息学院2.6三维图形绘制三维曲线绘制stem3,fill3,bar3等2020/2/1755高等应用数学问题的MATLAB求解东北大学信息学院【例2-27】参数方程2020/2/1756高等应用数学问题的MATLAB求解东北大学信息学院2.6.2三维曲面绘制一般曲面绘制其他函数,surfl(),surfc()等高线绘制contour(),contours()2020/2/1757高等应用数学问题的MATLAB求解东北大学信息学院【例2-28】Butterworth滤波器2020/2/1758高等应用数学问题的MATLAB求解东北大学信息学院