《计算机辅助数学问题求解.ppt》由会员分享,可在线阅读,更多相关《计算机辅助数学问题求解.ppt(61页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2019/10/21,1,MATLAB 语言程序设计基础,2019/10/21,2,MATLAB 语言的简洁高效性MATLAB 语言的科学运算功能MATLAB 语言的绘图功能MATLAB 庞大的工具箱与模块集MATLAB 强大的动态系统仿真功能,MATLAB 语言是当前国际上自动控制领域的首选计算机语言,也是很多理工科专业最适合的计算机数学语言。,2019/10/21,3,主要内容,MATLAB 程序设计语言基础基本数学运算MATLAB语言流程控制MATLAB 函数的编写二维图形绘制三维图形绘制,2019/10/21,4,2.1 MATLAB 程序设计语言基础,MATLAB 语言的变量名规则由
2、一个字母引导,后面可以为其他字符区分大小写 Abc ABc有效 MYvar12, MY_Var12 和 MyVar12_错误的变量名 12MyVar, _MyVar12 MATLAB 的保留常量eps, i, j, pi, NaN, Inf, i=sqrt(-1)lastwarn, lasterr,2019/10/21,5,数值型数据结构,双精度数值变量IEEE标准,64位 (8字节),11指数位,53数值位和一个符号位 double() 函数的转换其他数据类型uint8,常用于图像表示和处理,8位int8(), int16(), int32(),uint16(), uint32(),2019
3、/10/21,6,符号型变量数据类型,符号型,sym(A), 常用于公式推导 变量声明 采用变精度函数求值【例2-1】求出 p 的 300 位有效数字,2019/10/21,7,MATLAB 支持的其他数据结构,基本数值变量类型:双精度复数矩阵字符串型数据:用单引号括起来 多维数组:是矩阵的直接扩展,多个下标单元数组:将不同类型数据集成到一个变量名下面,用表示结构体:A.b, 引用也用 A.b,不是A-b类与对象:可以定义重载函数,2019/10/21,8,MATLAB 的基本语句结构,直接赋值语句【例2-2】表示矩阵,2019/10/21,9,【例2-3】 试输入复数矩阵,需要避免的语句,2
4、019/10/21,10,函数调用语句冒号表达式,2019/10/21,11,【例2-4】 用不同的步距生成 (0,p) 间向量,2019/10/21,12,子矩阵提取,基本语句格式【例2-5】子矩阵提取提取 A 矩阵全部奇数行,所有列 提取 A 矩阵 3,2,1 行、2,3,4 列构成子矩阵将 A 矩阵左右翻转,2019/10/21,13,2.2 基本数学运算,2.2.1 代数运算2.2.2 逻辑运算2.2.3 比较运算2.2.4 解析结果的化简与变换2.2.5 基本数论运算,2019/10/21,14,矩阵的代数运算,矩阵表示矩阵转置数学表示 MATLAB 求解,2019/10/21,15
5、,矩阵加减法注意其一为标量的情形矩阵乘法数学表示MATLAB 表示 注意相容性,2019/10/21,16,矩阵除法矩阵左除:AX = B,求 XMATLAB 求解:X=AB最小二乘解 矩阵右除:XA = B,求 X MATLAB求解:X=B/A最小二乘解,2019/10/21,17,矩阵翻转左右翻转 上下翻转旋转 90o如何旋转180o? 矩阵乘方 A 为方阵,求 MATLAB 实现:,2019/10/21,18,点运算 矩阵对应元素的直接运算 例如,2019/10/21,19,矩阵的逻辑运算,逻辑变量:当前版本有逻辑变量对 double 变量来说,非 0 表示逻辑 1逻辑运算(相应元素间的
6、运算)与运算或运算非运算异或运算,2019/10/21,20,矩阵的比较运算,各种允许的比较关系 , =, , =, =,=, find(), all(), any()实例,2019/10/21,21,解析结果的化简与变换,其他常用化简函数,【例2-6】,2019/10/21,22,变量替换转换成 LaTeX 表示,2019/10/21,23,【例2-7】,求其 Taylor 幂级数展开,2019/10/21,24,基本数论运算,2019/10/21,25,【例2-8】 对下面的数据进行取整运算 -0.2765,0.5772,1.4597,2.1091,1.191,-1.6187,2019/1
7、0/21,26,【例2-9】3x3 Hilbert 矩阵,试用 rat() 函数变换,【例2-10】1856120,1483720,最大公约数、最小公倍数,质因数分解,【例2-11】1-1000间质数,2019/10/21,27,2.3 MATLAB 语言流程控制,循环结构for 结构while 结构,2019/10/21,28,【例2-12】用循环求解,【例2-13】用循环求解 求最小的 m,2019/10/21,29,【例2-14】求,2019/10/21,30,转移结构,2019/10/21,31,2019/10/21,32,【例2-15】用循环求解 求最大的 m,2019/10/21,
8、33,2.3.3 开关结构,2019/10/21,34,2019/10/21,35,和 C 语言的区别,当开关表达式的值等于某表达式,执行该语句后结束该结构,不用 break同时满足若干个条件之一,则用单元形式otherwise 语句,不是 default程序的执行结果和各个case顺序无关case 语句中条件不能重复,否则列在后面的条件将不能执行,2019/10/21,36,2.3.4 试探结构,全新结构,2019/10/21,37,2.4 MATLAB 函数的编写,函数是 MATLAB 编程的主流方法除了函数外,还可以采用 M-script 文件M-script 适合于小规模【例2-16】
9、若最大值不为 10000,需修改程序对 m 和 10000 值的设置,不适合于M-script,2019/10/21,38,2.4.1 MATLAB 语言的函数的基本结构,nargin, nargout, varargin, varargout,2019/10/21,39,【例2-17】前面的要求,m, 10000,无需修改程序,2019/10/21,40,【例2-18】若只给出一个输入参数,则会自动生成一个方阵在函数中给出合适的帮助信息检测输入和返回变量的个数,edit myhilb,2019/10/21,41,2019/10/21,42,2019/10/21,43,【例2-19】函数的递归
10、调用:阶乘,2019/10/21,44,2.4.2 可变输入输出个数,【例2-21】 可以计算两个多项式的积用 varargin 实现任意多个多项式的积,2019/10/21,45,2.4.3 inline 函数和匿名函数,inline 函数,可以免去文件MATLAB 7.0,2019/10/21,46,2.5 二维图形绘制,2.5.1 二维图形绘制基本语句,构造向量:,2019/10/21,47,2019/10/21,48,2019/10/21,49,【例2-22】,2019/10/21,50,【例2-23】,2019/10/21,51,图形元素属性获取与修改,2019/10/21,52,2
11、.5.2 其他二维图形绘制语句,2019/10/21,53,【例2-24】绘制极坐标曲线,周期确定,可以采用试凑方法,2019/10/21,54,【例2-25】用不同曲线绘制函数表示正弦曲线,2019/10/21,55,2.5.3 隐函数绘制及应用,隐函数,【例2-25】,2019/10/21,56,2.5.4 图形修饰,直接采用工具栏文字修饰 特殊符号表下标分别用 和 _ 表示 优越性MATLAB 7.0 的新功能,2019/10/21,57,2.6 三维图形绘制,三维曲线绘制stem3, fill3, bar3 等,2019/10/21,58,【例2-27】参数方程,2019/10/21,59,2.6.2 三维曲面绘制,一般曲面绘制其他函数, surfl( ), surfc( )等高线绘制 contour( ), contours( ),2019/10/21,60,【例2-28】Butterworth 滤波器,2019/10/21,61,
限制150内