第2章程序设计基础_第1页
第2章程序设计基础_第2页
第2章程序设计基础_第3页
第2章程序设计基础_第4页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022年3月7日10时49分MATLAB语言与应用1第第 2 2 章章 程序设计基础程序设计基础现代设计与分析研究所现代设计与分析研究所王王 雷雷2022年3月7日10时49分MATLAB语言与应用2本章主要内容本章主要内容l2.1 MATLAB 语言基础语言基础l2.2 MATLAB 基本数学运算基本数学运算l2.3 MATLAB 语言流程控制语言流程控制l2.4 MATLAB 函数的编写函数的编写2022年3月7日10时49分MATLAB语言与应用32.1 MATLAB 语言基础语言基础lMATLAB 语言的变量名规则语言的变量名规则 由一个字母引导,后面可以为其他字符 区分大小写 Ab

2、c ABc 有效 MYvar12, MY_Var12 和 MyVar12_ 错误的变量名 12MyVar, _MyVar12 l MATLAB 的保留常量的保留常量 eps, i, j, pi, Inf, NaN lastwarn, lasterr 2022年3月7日10时49分MATLAB语言与应用4数值型数据结构数值型数据结构l双精度数值变量双精度数值变量 IEEE标准,64位 (8字节),11指数位,53数值位和一个符号位 double() 函数的转换l其他数据类型其他数据类型 uint8,常用于图像表示和处理,8位 int8(), int16(), int32(),uint16(),

3、uint32()2022年3月7日10时49分MATLAB语言与应用5符号型变量数据类型符号型变量数据类型l符号型,符号型,sym(A), 常用于公式推导常用于公式推导 变量声明 采用变精度函数求值【例【例2-1】求出】求出 p p 的的 300 位有效数字位有效数字2022年3月7日10时49分MATLAB语言与应用6MATLAB 支持的其他数据结构支持的其他数据结构l字符串型数据:用单引号括起来字符串型数据:用单引号括起来 l多维数组:是矩阵的直接扩展,多个下标多维数组:是矩阵的直接扩展,多个下标l单元数组:将不同类型数据集成到一个变量名单元数组:将不同类型数据集成到一个变量名下面,用下面

4、,用 表示(细胞型)表示(细胞型)l结构体:结构体:A.b, 引用也用引用也用 A.b,不是,不是A-bl类与对象:可以定义重载函数类与对象:可以定义重载函数2022年3月7日10时49分MATLAB语言与应用7MATLAB 的基本语句结构的基本语句结构l直接赋值语句直接赋值语句【例【例2-2】表示矩阵】表示矩阵2022年3月7日10时49分MATLAB语言与应用8l函数调用语句函数调用语句l冒号表达式冒号表达式2022年3月7日10时49分MATLAB语言与应用9【例2-3】 用不同的步距生成 (0,p) 间向量2022年3月7日10时49分MATLAB语言与应用10lLinspace(a,

5、b,n)l【例2-4】 0到pi的50个等间距点l T=linspace(0,pi,50) 相当于0:pi/49:pi2022年3月7日10时49分MATLAB语言与应用11子矩阵提取子矩阵提取l基本语句格式基本语句格式l【例【例2-5】子矩阵提取】子矩阵提取 提取 A 矩阵全部奇数行,所有列 提取 A 矩阵 3,2,1 行、2,3,4 列构成子矩阵 将 A 矩阵左右翻转2022年3月7日10时49分MATLAB语言与应用12l例子例子exstring.m字符串数据类型xibao.m单元数组(细胞)jiegou.m结构型数据2022年3月7日10时49分MATLAB语言与应用132.2 2.2

6、 基本数学运算基本数学运算l2.2.1 代数运算代数运算l2.2.2 逻辑运算逻辑运算l2.2.3 比较运算比较运算l2.2.4 解析结果的化简与变换解析结果的化简与变换l2.2.5 基本数论运算基本数论运算2022年3月7日10时49分MATLAB语言与应用14矩阵的代数运算矩阵的代数运算l矩阵转置矩阵转置 数学表示 MATLAB 求解 BA2022年3月7日10时49分MATLAB语言与应用15l矩阵加减法矩阵加减法 注意其一为标量的情形l矩阵乘法矩阵乘法 数学表示 MATLAB 表示 注意相容性 2022年3月7日10时49分MATLAB语言与应用16l矩阵除法矩阵除法 矩阵左除:AX

7、= B,求 X MATLAB 求解:X=AB A不是方阵,求最小二乘解 矩阵右除:XA = B,求 X MATLAB求解:X=B/A A不是方阵,求最小二乘解 2022年3月7日10时49分MATLAB语言与应用17l矩阵除法矩阵除法l求解方程组求解方程组lMATLAB求解求解 A=8 1 6;3 5 7;4 9 2;l B=7.5 4 12; x=AB123123123867.5357449212xxxxxxxxx1238167.5357449212xxx 2022年3月7日10时49分MATLAB语言与应用18l矩阵翻转矩阵翻转 左右翻转 上下翻转 旋转 90ol矩阵乘方矩阵乘方 A 为方

8、阵,求 MATLAB 实现: 2022年3月7日10时49分MATLAB语言与应用19l点运算点运算 矩阵对应元素的直接运算 例如2022年3月7日10时49分MATLAB语言与应用20矩阵的逻辑运算矩阵的逻辑运算l逻辑运算(相应元素间的运算)逻辑运算(相应元素间的运算) 与运算 或运算 非运算 异或运算 2022年3月7日10时49分MATLAB语言与应用21矩阵的比较运算矩阵的比较运算l各种允许的比较关系各种允许的比较关系 , =, , tic, s=0; for i=1:100000, s=s+1/2i+1/3i; end toc2022年3月7日10时49分MATLAB语言与应用31转

9、移结构转移结构2022年3月7日10时49分MATLAB语言与应用322022年3月7日10时49分MATLAB语言与应用33【例2-15】用循环求解 求最大的 m2022年3月7日10时49分MATLAB语言与应用342.3.3 开关结构开关结构2022年3月7日10时49分MATLAB语言与应用352022年3月7日10时50分MATLAB语言与应用36和和 C C 语言的区别语言的区别l当开关表达式的值等于某表达式,执行该语句当开关表达式的值等于某表达式,执行该语句后结束该结构,不用后结束该结构,不用 breakl同时满足若干个条件之一,则用单元结构同时满足若干个条件之一,则用单元结构l

10、otherwise 语句,不是语句,不是 defaultl程序的执行结果和各个程序的执行结果和各个case顺序无关顺序无关lcase 语句中条件不能重复,否则列在后面的语句中条件不能重复,否则列在后面的条件将不能执行条件将不能执行2022年3月7日10时50分MATLAB语言与应用372.3.4 试探结构试探结构l全新结构全新结构2022年3月7日10时50分MATLAB语言与应用382.4 MATLAB 函数的编写函数的编写l函数是函数是 MATLAB 编程的主流方法编程的主流方法l除了函数外,还可以采用除了函数外,还可以采用 M-script 文件文件lM-script 适合于小规模适合于

11、小规模【例【例2-16】若最大值不为】若最大值不为 10000,需修改程序,需修改程序对对 m 和和 10000 值的设置,不适合于值的设置,不适合于M-script2022年3月7日10时50分MATLAB语言与应用392.4.1 MATLAB 语言的函数的基本结构语言的函数的基本结构 nargin, nargout, varargin, varargout2022年3月7日10时50分MATLAB语言与应用40【例2-17】前面的要求,m, 10000无需修改程序2022年3月7日10时50分MATLAB语言与应用41【例2-18】若只给出一个输入参数,则会自动生成一个方阵在函数中给出合适的帮助信息检测输入和返回变量的个数edit myhilb2022年3月7日10时50分MATLAB语言与应用422022年3月7日10时50分MATLAB语言与应用432022年3月7日10时50分MATLAB语言与应用442.4.2 可变输入输出个数可变输入输出个数【例【例2-21】 可以计算两个多项式的积可以计算两个多项式的积用用 varargin 实现任意多个多项式的积实现任意多个多项式的积2022年3月7日10时50分MATLAB语言与应用452.4.3 inline 函数和匿名函数函数和匿名函数linline 函数,可以免去文件函数,可以免去文件lMATLAB 7.0202

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论