




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章MATLAB语言基础 10 1MATLAB数值运算基础 5 2 1 5 0 2 20 8ans 28 2500 1 变量命名在MATLAB中 变量名是以字母开头 后接字母 数字或下划线的字符序列 最多63个字符 在MATLAB中 变量名区分字母的大小写 2 赋值语句 1 变量 表达式 2 表达式 3 预定义变量在MATLAB工作空间中 还驻留几个由系统本身定义的变量 例如 用pi表示圆周率 的近似值 用i或j表示虚数单位 4 内存变量的管理 内存变量的删除与修改MATLAB工作空间窗口专门用于内存变量的管理 clear命令用于删除MATLAB工作空间中的变量 who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单 who命令只显示出驻留变量的名称whos在给出变量名的同时 还给出它们的大小 所占字节数及数据类型等信息 内存变量文件利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来 扩展名是 mat MAT文件的生成和装入由save和load命令来完成 常用格式为 save文件名 变量名表 append ascii load文件名 变量名表 ascii MATLAB常用的三角函数 10 1 2MATLAB常用数学函数 指数函数 复数函数 圆整函数和求余函数 其他函数 10 1 3数据的输出格式formatshort 短格式方式 显示5位定点十进制数 formatlong 长格式方式 显示15位定点十进制数 formatshortg 当数据大于1000或小于1时便会以科学记数法显示 e 若想坚持用整数部分加小数部分的格式来显示 就要再后边加gformatlonggformathex 十六进制格式方式 formatbank 银行格式 按元 角 分 小数点后具有两位 的固定格式 format 格式 以 和空格分别表示中的正数 负数和零元素formatshorte 短格式e方式 显示5位浮点十进制数formatlonge 长格式e方式 显示15位浮点十进制数 formatrat 分数格式形式 用有理数逼近显示数据 如pi显示为355 113 10 2数组矩阵运算10 2 1数组 矩阵的概念MATLAB以矩阵作为基本的运算单元 其运算规则与线性代数中的矩阵运算规则相同 数组是由一组复数排成的长方形阵列 一行多列的数组是行向量 一列多行的数组就是列向量 数组可以是二维的 矩形 也可以是多维的 10 2 2数组与矩阵的输入一行多列的数组是行向量 矩阵横向行的所有元素依次序排列的元素也是行向量 1 一维行或列向量的输入 显示元素列表输入A 12 pisqrt 3 4 5i 冒号生成输入x a inc b2 二维数组或矩阵的输入A 123 456 789 10 2 3数组与矩阵的算术运算1 数组 矩阵的加减运算数组加减运算和矩阵加减运算都是两个数组或矩阵的行数与列数分别相同 即都是数组相对应元素或矩阵相应元素的加减运算 MATLAB里 维数为1 1的数组叫做标量 例10 1 执行下列命令 s 5 A 123 456 789 B A sC A s运行结果 B 67891011121314C 4 3 2 101234 2 数组 矩阵的乘法运算数组的乘法用运算符 表示 即在乘号前加一个点来特别指定是数组的乘法运算 数组的乘法必须在具有相同维数的数组间进行 其结果是数组的对应元素间相乘的结果组成的新数组 而两矩阵相乘必须服从数学中矩阵叉乘的条件与规则 数组 矩阵与标量的乘法运算数组与一个标量之间或矩阵与一个标量之间的乘法运算都是指该数组 或矩阵 的每个元素与这个标量分别进行乘法运算 例10 2 数组与一个标量乘法运算指令示例 s 5 A 123 456 789 B s A 数组 矩阵的乘法运算数组的乘法必须在具有相同维数的数组间进行 两矩阵相乘的条件是左矩阵的列数必须等于右矩阵的行数且不满足交换律 例10 3 数组乘法示例 a 123 456 789 b 222 222 222 c a bd b a 数组 矩阵的转置运算在线性代数中 把矩阵A的行换成同序数的列而生成的矩阵 叫做A的转置矩阵 从矩阵A生成转置矩阵的过程就是矩阵A的转置运算 矩阵A的转置矩阵记作AT 在MATLAB中 用运算符 定义的矩阵转置 是其元素的共轭转置 运算符 定义的数组的转置则是其矩阵元素的非共轭转置 可见 线性代数定义的矩阵的转置对应着MATLAB中的数组转置 例10 5 数组与矩阵的转置运算示例 e 123 456 E e 1 i F E G E 运行结果 F 1 0000 1 0000i4 0000 4 0000i2 0000 2 0000i5 0000 5 0000i3 0000 3 0000i6 0000 6 0000iG 1 0000 1 0000i4 0000 4 0000i2 0000 2 0000i5 0000 5 0000i3 0000 3 0000i6 0000 6 0000i 10 3MATLAB的程序设计10 3 1M文件M文件是使用MATLAB语言编写的程序代码文件 之所以称为M文件 是因为这种文件都以 m 作为文件的扩展名 用户可以通过任何文本编辑器来生成或编辑文件 但是在MATLAB提供的M file编辑调试器生成和编辑M文件最为简单 方便且高效 M文件可以分成两种类型 一种是函数文件 另一种是命令文件 10 3 2MATLAB函数1 概念MATLAB函数通常是指MATLAB系统内已设计好的完成某一种特定的运算或实现某一特定功能的一个子程序 MATLAB中的函数即函数文件 是M文件最主要的形式 函数是能够接受输入参数并返回输出参数的文件 在MATLAB中 函数名和M文件名必须相同 函数只能在函数体内对变量进行操作 MATLAB中的函数是以两种不同的形式提供给用户一种是内置在MATLAB核心中最基本的运算函数 另一种是通过M文件实现的函数 这些函数大部分是是在最基本运算函数的基础上扩展而来 扩展的目的是为了实现与完善MATLAB新的功能 3 结构 函数定义行函数M文件首行总是以关键字 function 开头 并在首行中列出全部输入 输出参数以及函数名 函数名应置于等号的右侧并与对应的M文件名相同 输出参数紧跟在 function 之后 常用方括号括起来 输入参数紧跟在函数名之后 常用圆括号括起来 H1行H1行是函数帮助文本的第一行 以 号开头 用来概要说明该函数的功能 函数帮助文本在H1之后而在函数体之前的说明文本就是函数帮助文本 说明函数的功能与用法 函数体是实现该函数功能 进行运算所有程序代码的执行语句 在函数体中 除了进行运算外 还包括函数调用与程序调用的必要注释 注释在函数体后还跟注释行 用以说明各种需要交代的问题 函数文件由function语句引导 其基本结构为 function输出形参表 函数名 输入形参表 注释说明部分函数体语句其中以function开头的一行为引导行 表示该M文件是一个函数文件 函数名的命名规则与变量名相同 输入形参为函数的输入参数 输出形参为函数的输出参数 当输出形参多于一个时 则应该用方括号括起来 4 函数调用函数调用的一般格式是 输出实参表 函数名 输入实参表 要注意的是 函数调用时各实参出现的顺序 个数 应与函数定义时形参的顺序 个数一致 否则会出错 函数调用时 先将实参传递给相应的形参 从而实现参数传递 然后再执行函数的功能 例10 6利用函数文件 实现直角坐标 x y 与极坐标 之间的转换 函数文件tran m function rho theta tran x y rho sqrt x x y y theta atan y x 调用tran m的命令文件main1 m y input Pleaseinputy x input Pleaseinputx rho the tran x y rhothe 5 函数参数的可调性在调用函数时 MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数 只要在函数文件中包含这两个变量 就可以准确地知道该函数文件被调用时的输入输出参数个数 从而决定函数如何进行处理 例10 8nargin用法示例 函数文件examp m functionfout charray a b c ifnargin 1fout a elseifnargin 2fout a b elseifnargin 3fout a b c 2 end 命令文件mydemo m x 1 3 y 1 2 3 examp x examp x y examp x y 3 10 3 3MATLAB命令文件或程序在MATLAB中 实现某项功能的一串MATLAB语句命令与函数组合成的M文件叫命令文件 也译作 脚本文件 这种文件在MATLAB的工作空间内对数据进行操作 能在MATLAB环境下直接执行 命令文件不仅能够对工作空间已存在的变量进行操作 并能将建立的变量及其执行的结果保存在MATLAB的工作空间里 供在以后的计算中使用 与函数文件相比 命令文件既不带输入参数也不带输出参数 例10 9分别建立命令文件和函数文件 将华氏温度f转换为摄氏温度c 程序1 首先建立命令文件f2c mclear 清除工作空间中的变量f input InputFahrenheittemperature c 5 f 32 9然后在MATLAB的命令窗口中输入f2c将会执行该命令文件 执行情况为 InputFahrenheittemperature 73c 22 7778 程序2 首先建立函数文件f2c m functionc f2c f c 5 f 32 9然后调用该函数文件 clear y input x f2c y 输出情况为 InputFahrenheittemperature 70c 21 1111x 21 1111 10 3 4程序设计基础MATLAB语言为解释性程序设计语言 程序中的语句边解释边执行 是由顺序 选择和循环三种基本控制结构所构成 MATLAB语句由表达式语句 赋值语句 控制语句 调试语句和空语句组成 控制语句包括条件语句 循环语句及一些转移语句 MATLAB的任何一个语句键入后 按回车键即可执行 故又把语句称为命令 由MATLAB各种函数与诸多MATLAB语句 命令组成的M文件就是MATLAB程序 所以MATLAB程序也是一种类似命令文件的M文件 MATLAB程序书写格式与函数的结构类似 掌握以下原则对于设计或编写程序是很有用的 程序基本结构组成如下图 后面的内容是程序的注释说明 包含有程序的名称 功能等 在主程序开头用clear指令清除变量 定义变量参数集中放在程序的开始部分 在语句行的最后输入分号时 执行语句行的结果不会显示在屏幕上 以提高执行速度 一 表达式 表达式语句与赋值语句在MATLAB程序中 广泛使用表达式语句与赋值语句 1 表达式2 表达式语句 3 赋值语句 二 程序流程控制语句在MATLAB程序中 还广泛使用程序流程控制语句包括顺序 选择 循环三大基本结构控制语句实现各种不同运算功能 1 顺序结构语句将MATLAB函数与语句根据解决问题的需要按照书写顺序而执行的MATLAB程序就是顺序结构程序 数据的输入从键盘输入数据 则可以使用input函数来进行 该函数的调用格式为 A input 提示信息 选项 其中提示信息为一个字符串 用于提示用户输入什么样的数据 如果在input函数调用时采用 s 选项 则允许用户输入一个字符串 例如 想输入一个人的姓名 可采用命令 xm input What syourname s 数据的输出MATLAB提供的命令窗口输出函数主要有disp函数 其调用格式为disp 输出项 其中输出项既可以为字符串 也可以为矩阵 2 分支选择结构语句分支选择语句有2种 if条件分支语句与switch开关分支语句 if条件分支语句if else end条件语句为程序流程控制提供了一种条件分支结构 这种语句有3种格式 ifexpressionstatementsend ifexpressionstatements1elsestatements2end ifexpression1statements1elseifexpression2statements2 elsestatements3end switch开关分支语句switchexpressioncasetest1statements1casetest1statements1 otherwisestatements3end 例10 13某商场对顾客所购买的商品实行打折销售 程序如下 price input 请输入商品价格 switchfix price 100 case 0 1 价格小于200rate 0 case 2 3 4 价格大于等于200但小于500rate 3 100 casenum2cell 5 9 rate 5 100 casenum2cell 10 24 rate 8 100 casenum2cell 25 49 rate 10 100 otherwiserate 14 100 endprice price 1 rate 3循环结构语句 for循环语句forv expressionstatementsend while循环语句whileexpressionstatementsend 例10 14一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数 输出全部水仙花数 程序如下 form 100 999m1 fix m 100 求m的百位数字m2 rem fix m 10 10 求m的十位数字m3 rem m 10 求m的个位数字ifm m1 m1 m1 m2 m2 m2 m3 m3 m3disp m endend 三 常用图形命令1 绘图函数plot x y s plot x1 y1 s1 x1 y2 s2 例10 16在0 x 2 区间内 绘制曲线y 2e 0 5xcos 4 x 程序如下 x 0 pi 100 2 pi y 2 exp 0 5 x cos 4 pi x plot x y 例10 17分析下列程序绘制的曲线 x1 linspace 0 2 pi 100 x2 linspace 0 3 pi 100 x3 linspace 0 4 pi 100 y1 sin x1 y2 1 sin x2 y3 2 sin x3 x x1 x2 x3 y y1 y2 y3 plot x y x1 y1 1 2 坐标系调整函数MATLAB的绘图函数可根据要绘制曲线数据的范围自动选择合适的坐标系 使得曲线尽可能清晰地显示出来 一般情况下用户可以不必自己选择绘图坐标系 如果用户觉得自动选择的坐标系不理想 则可用函数axis 选择新的坐标系 axis xmin xmax ymin ymax zmin zmax 坐标有最小值 xmin ymin zmin 与最大值 xmax ymax zmax axis函数功能丰富 常用的格式还有 axisequal 纵 横坐标轴采用等长刻度 axissquare 产生正方形坐标系 缺省为矩形 axisauto 使用缺省设置 axisoff 取消坐标轴 axison 显示坐标轴 给坐标加网格线用grid命令来控制 gridon off命令控制是画还是不画网格线 不带参数的grid命令在两种状态之间进行切换 给坐标加边框用box命令来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 掌握纺织品检测报告的标准格式与内容试题及答案
- 硫铵考试试题及答案
- 助理广告师考试市场营销对社会责任的探索与品牌价值提升策略试题及答案
- 传统技艺与现代设计结合的可行性研究试题及答案
- 少先队的测试题及答案
- 发酵工程考试题及答案
- 2024年纺织品证书考试要点试题及答案
- 化水水处理试题及答案
- 2024年纺织品设计师证书的成功经验分享试题及答案
- 对比分析2024年纺织工程师考试的试题及答案
- 电工电子技术(第3版) 课件 1.7 基尔霍夫定律
- 2024年度食品饮料品牌授权区域代理销售合同书3篇
- 关于清理35KV高压架空线路树障的安全技术措施
- 人音版音乐七年级上册《友谊地久天长》课件
- 人体损伤致残程度分级(2017)全文
- 美国加州租房合同范本(2篇)
- 2025年中考复习必背外研版初中英语单词词汇(精校打印)
- 统编版二年级语文下册第7单元大单元公开课一等奖创新教学设计 和配套作业设计
- 新能源发电技术 课件 第三章-风力发电控制技术
- 制造业智能制造技术与设备升级改造方案
- 《建筑抗震加固技术规程》JGJ116-2009
评论
0/150
提交评论