matlab基本语法(用).ppt

上传人:xin****828 文档编号:6289286 上传时间:2020-02-21 格式:PPT 页数:58 大小:1.01MB
返回 下载 相关 举报
matlab基本语法(用).ppt_第1页
第1页 / 共58页
matlab基本语法(用).ppt_第2页
第2页 / 共58页
matlab基本语法(用).ppt_第3页
第3页 / 共58页
点击查看更多>>
资源描述
4 2 1变量及其赋值4 2 2运算符与数学表达式4 2 3控制流4 2 4数据的输入输出及文件的读写4 2 5基本数学函数4 2 6基本绘图方法4 2 7M文件及程序调试 4 2 1变量及其赋值 4 2 1 1标识符与数 标识符是标志变量名 常量名 函数名和文件名的字符串的总称 在MTLAB中 变量和常量的标识符最长允许31个字符 字符包括全部的英文字母 大小写52个 阿拉伯数字和下划线等符号 标识符中第一个字符必须是英文字母 4 2 1 2矩阵及其元素的赋值 赋值就是把数赋予代表常量或变量的标识符 在MATLAB中 变量都代表矩阵 列矢量可被当作只有一列的矩阵 行矢量也可被当作只有一个行的矩阵 标量应看作1 1阶的矩阵 赋值语句的一般形式为 变量 表达式 或数 1 赋值要求在输入矩阵时 应遵循以下规则 整个矩阵的值应放在方括号中 同一行中各元素之间以逗号 或空格分开 不同行的元素以分号 隔开 2 变量的元素的标注 在MATLAB中 变量的元素 即矩阵元 用圆括号 中的数字 也称为下标 来注明 一维矩阵 也称数组 中的元素用一个下标表示 二维矩阵由两个下标数构成 以逗号分开 对三维矩阵则由三个下标数构成 3 赋值技巧 1 利用冒号 给全行的元素赋值 2 利用行 列标注构成新的矩阵 4 特殊矩阵和数组 1 单位矩阵函数eye 函数功能 产生对主角线元素为1 其它元素为0的单位矩阵 eye 的调用格式如下 A eye n 返回一个n n阶单位矩阵 A eye m n 返回一个m n阶单位矩阵 或用A eye m n 2 zeros函数 ones函数 rand以及randn函数 A zeros n 返回一个n n阶零矩阵 A zeros m n 返回一个m n阶零矩阵 3 linspace函数和logspace函数linspace函数的调用格式如下 y linspace a b 产生一个行矢量y 该矢量把a和b间的数等分100份而得到 y linspace a b n 产生一个行矢量y 该矢量把a和b间的数等分n份而得到 5 MATLAB内部特殊变量和常数 变量ans 临时变量 通常指示当前的答案 常数eps 表示浮点相对精度 其值是从1 0到下一个最大浮点数之间的差值 变量值作为一些MATLAB函数计算的相对浮点精度 按IEEE标准 esp 2 52近似为2 2204e 016 常数realmax 表示最大正浮点数 任何大于该值的运算都溢出 在具有IEEE标准浮点格式的机器上 realmax略小于21024 近似为1 7977e 308 常数realmin 表示最小正浮点数 任何小于该值的运算都溢出 在具有IEEE标准浮点格式的机器上 realmin略小于2 1024 近似为2 2251e 308 常数pi 表示圆周率 3 1415926535897 表达式4 atan 1 和imag log 1 产生相同的值 常数Inf 代表正无穷大 一般被0除或溢出则产生无穷大结果 如2 0 2 10000均产生结果 Inf 而log 0 产生结果 Inf 虚数单位i j 表示复数虚部单位 相当于 NaN 表示非数值 如当Inf Inf Inf Inf 0 Inf 0 0均产生该结果 6 复数的赋值方式MATLAB的每一个元素都可以是复数 实数是复数的特例 复数的虚数部分用i或j表示 对复数矩阵有两种赋值方法 1 可将矩阵元逐个赋予复数 2 将矩阵的实部和虚部分别赋值 7 变量检查在程序调试或变量的赋值过程 往往需要检查工作空间中的变量 变量的阶数以及变量赋值内容 在检查变量及其阶数等内容时 既可用工作空间窗口 也可在命令窗口使用who或whos命令来完成检查 当查看某变量的赋值情况 可在命令窗口直接键入该变量名回车即可 4 2 2运算符与复数运算 算术运算符 进行数值计算 关系运算符 比较两个操作数的大小 逻辑运算符 进行逻辑运算 4 2 2 1算术运算符 1 矩阵加减法 A B功能 两矩阵对应元素相加减 因此 A和B两矩阵必须有相同的大小 或其中之一为标量 标量可以与任意大小的矩阵相加 2 矩阵相乘 A B功能 C A B为两矩阵线性代数的乘积 即 3 矩阵元素相乘 A B功能 矩阵A和B的对应元素相乘 因此 A和B必须大小相同 或其中之一为标量 4 矩阵右除 B A 与左除 A B 如果A为一非奇异矩阵 则B A与A B可通过A的逆矩阵与B矩阵得到 B A B inv A A B inv A B 5 矩阵元素右除 A B 与左除 A B 矩阵元素右除 A B 表示矩阵元素A i j B i j 矩阵元素左除 A B 表示矩阵B i j A i j 因此 A和B必须大小相同 或者其中之一为标量 6 矩阵幂 X p如果p为标量 表示X的p次幂 如果X为标量 而p为矩阵 X p用特征值和特征向量表示X的矩阵p次幂 注意X和p不能同时为矩阵 但必须是方阵 7 矩阵元素幂 A BA B表示矩阵元素A i j 的B i j 次幂 A与B必须大小相同 或者其中之一为标量 8 矩阵转置 A 表示矩阵A的线性代数转置 对于复矩阵 表示复共轭转置 9 非共轭转置 A 表示非共轭转置 对于复矩阵 不包括共轭 10 冒号操作符 冒号是一个非常有用的操作符 可以产生向量 数组下标以及for循环 关系比较结果只有两种可能 即1或0 1表示关系式这 真 即关系式正确 0表示该关系为 假 即它不成立 4 2 2 3逻辑操作符 通常逻辑变量只能取0 假 和1 真 两个值 逻辑量的基本运算除 与 或 和 非 外 有时也包括 异或 xor 不过 异或 可以用3种基本运算组合而成 两个逻辑量经过这4种逻辑运算后的输出仍然是逻辑量 4 2 2 2关系操作符 关系运算是指两个元素之间数值的比较 MATLAB所提供的关系操作符如表所示 4 2 2 4关系与逻辑函数 其他关系与逻辑函数 测试函数 4 2 2 5复数运算 1 MATLAB中所有的运算符和函数都对复数有效 2 复数的共轭可利用函数 conj 来完成 4 2 3控制流 4 2 3 1If语句if语句称为条件执行语句 其关键字包括if else elseif和end 格式之一 if表达式语句组Aend其工作流程如图所示 注意 语句中的end是绝不可少的 没有它 在逻辑表达式为0时 就找不到继续执行程序的入口 格式之二 if表达式语句组Aelse语句组Bend其工作流程如图所示 格式之三 if表达式1语句组Aelseif表达式2语句组Belse语句组Cend工作流程原理如图所示 switch选择表达式case情况表达式1语句组1case情况表达式2语句组2 otherwise语句组nend 4 2 3 2Switch语句 switch语句 也是条件选择结构 其关键字包括switch case otherwise和end 它主要用于有选择性的程序设计 实现程序的多分支选择 其调格式为 4 2 3 3While语句while语句为条件循环语句 循环执行一组语句 执行次数不确定 而是决定于一些逻辑条件 其关键字包括while end break等 基本调用格式 while表达式语句Aend 4 2 3 4for语句 for语句也是循环语句 但与while语句不同的是 它循环执行一组语句的执行次数是确定 其关键字包括for end break等 调用的基本格式如下 forindex 初值 增量 终值语句组Aend功能 把语句组A 亦称为循环体 反复执行N次 循环次数N为 N 1 终值 初值 增量在每次执行时程序中的index的值按 增量 增加 注意 1 For循环不能用For循环内重新赋值循环变量n来终止 2 在For循环内接受任何有效的MATLAB数组 3 for循环可按需要嵌套 与其它的编程语言类似 for语句可以嵌套使用 4 当有一个等效的数组方法来解给定的问题时 应避免用For循环 5 为了提高处理的速度 在For循环 While循环 被执行之前 应预先分配数组 4 2 4数据的输入输出及文件的读写 4 2 4 1交互输入与输出命令和函数 1 键盘输入命令input格式一 u input 提示内容 格式二 u input 提示内容 s 在屏幕上显示提示内容 等待从键盘输入 将输入的符号以字符串赋给文本 字符串 变量u 2 菜单输入命令menu功能 产生一个供用户输入的选择菜单 格式 k menu title 选项1 选项2 选项n 显示以字符串变量 title 为标题的菜单 选择为字符变量 选项1 选项2 选项n 并将所输入的值赋给变量k 3 暂停执行命令pausepause常用在M文件中 用于停止执行 直接按任意键继续执行 pause n 暂停执行n秒后继续执行 pauseon允许一系列pause命令暂停程序执行 pauseoff保证任何pause命令和pausea n 语句不能暂停程序执行 4 显示命令disp功能 显示指定的变量或变量的内容 调用格式 disp 变量名 5 按格式要求输出变量命令sprintf功能 按格式要求输出变量调用格式 sprintf 显示格式 变量 4 2 4 2文件输入输出命令与函数 1 save功能 用以将工作空间中的变量保存到磁盘上 格式一 save将工作空间中的所有变量保存在一个名为 matlab mat 的二进制格式文件中 该文件可通过load命令来重新装入工作空间 格式二 save文件名变量名将工作空间中指定的 变量名 保存在指定 文件名 mat 的二进制格式文件中 格式三 save文件名选项使用 选项 指定ASCII文件格式 将工作实间中所有变量保存到 文件名 所指定的文件中 2 load 功能 从磁盘文件中重新调入变量内容到工作空间 格式一 load将保存在 matlab mat 文件中的所有变量调入到工作空间 格式二 load文件名从 文件名 mat 中调入变量 可给出全部路径 3 fopen功能 打开文件或获得打开文件信息 格式一 f id fopen 文件名 允许模式 以 允许模式 指定的模式打开 文件名 所指定的文件 返回文件标识f id 允许模式 可以是下列几个字符串之一 r 打开文件进行读 缺省型式 w 删除己存在文件中的内容或生成一个新文件 打开进行写操作 a 打开一个己存在的文件或生成并打开一个新文件 进行写操作 在文件末尾添加数据 格式二 f id message fopen 文件名 允许模式 格式 功能 用指定的数据 格式 打开数据文件 返回文件标识和打开文件信息两个参数 数据格式 如果fopen成功打开文件 则返回文件标识f id message内容为空 如果不能成功打开 则返回f id值为 1 message中返回一个有助于判断错误类型的字符串 有三个值是预先定义的 不能打开或关闭 0 表示标准输入 一直处于打开读入状态 1 表示标准输出 一直处于打开追加状态 2 表示标准错误 一直处于打开追加状态 4 fclose功能 关闭一个或多个已打开的文件 格式一 status fclose f id 关闭指定文件 返回0表示成功 返回 1表示失败 格式二status fclose all 功能 关闭所有文件 返回0表示成功 返回 1表示失败 5 fread格式一 A count fread f id size 精度 功能 从指定文件中读入二进制数据 将数据写入到矩阵A中 可选输出count返回成功读入元素个数 f id为整数文件标识 其值由fopen函数得到 可选参数size确定读入多少数据 如果不指定参数size 则一直读到文件结束为止 参数size合法选择有 n 读入n个元素到一个列向量 inf 读到文件结束 返回一个与文件数据元素相同的列向量 m n 读入足够元素填充一个m n阶矩阵 填充按列顺序进行 如果文件不够大 则填充0 精度 表示读入数据精度的字符串 控制读入每个值的数据位 这些位可以是整数型 浮点值或字符 格式二 A count fread f id size 精度 skip 可选参数skip 指定每次读操作跳过字节数 如果 精度 是某一种位格式 则每次读操作将跳过相应位数 6 fwrite功能 向文件中写入二进制数据 格式一 count fwrite f id A 精度 将矩阵A中元素写入指定文件 将其值转换为指定的精度 格式二 count fwrite f id A 精度 skip 可用参数skip指定每次写操作跳过指定字节 7 fscanf格式一 A fscanf f id 格式 从由f id所指定的文件中读入所有数据 并根据 格式 字符串进行转换 并返回给矩阵A 格式 字符串指定被读入数据的格式 格式二 A count fscanf f id 格式 size 读入由size指定数量的数据 并根据 格式 字符进行转换 并返回给矩阵A 同时返回成功读入的数据数量count 8 fprintf格式一 count fprintf f id 格式 A 将矩阵A或其它矩阵的实部数据以 格式 字符串指定的形式进行规格化 并将其写入指定的文件中 其返回值为写入数据的数量 格式二 fprintf 格式 A 将A或其它值以 格式 给定的形式输出到标准输出 显示屏幕上 9 fgets功能 以字符串形式返回文件中的下一行内容 包含行结束符 格式一 ctr fgets f id 返回文件标识为f id的文件中的下一行内容 如果遇到文件结尾 EOF 则返回 1 所返回的字符串中包括文本结束符 用fgetl 则返回的字符串中不包括行结束符 格式二 str fgest f id n 返回下行中最多n个字符 在遇到行结束符或文件结束 EOF 时不追加字符 10 fgetl功能 以字符串形式返回文件中的下一行内容 但不含行结束符 格式 str fgetl f id 返回文件标识为文件中的下一行内容 如果遇到文件结尾 则返回 1 所返回的字符串中不包括行结束符 11 ferror功能 查询MATLAB关于文件输入 输出操作的错误 messgeg ferror f id 将标识为f id的已打开文件的错误信息返回给message变量 12 feof功能 测试文件结尾 EOF 格式 eoftest feof f id 测试指定文件是否设置了EOF 如果返回1则表示设置了EOF指示器 返回0未设置 13 imread功能 从图像文件中读入图像格式一 A imread 文件名 图像文件格式 将文件名指定的图像文件读入A A为无符号8位整数 uint8 如果文件为灰度图像 则A为一个二维数组 如果文件是一个真彩色RGB图像 则A是一个三维数组 m n 3 格式二 A map imread 文件名 图像文件格式 读入索引图像到矩阵A 其调色板值返回给map A为无符号8位整数 uint8 map为双精度浮点数 其值在 0 1 范围内 14 imwrite 将图像写入图像文件中 格式一 imwrite A 文件名 图像文件格式 格式二 imwrite A map 文件名 图像文件格式 将A中的索引图像及其相关的调色板map存放到指定文件 调色板map必须是MATLAB的有效调色板 注意大多数图像文件格式不支持大于256的调色板 15 imfinfo功能 返回图像文件信息格式 info imfinfo 文件名 图像文件格式 返回一个图像信息结构 或结构数组 图像文件格式 与imread函数的一样 16 auread功能 读入声音文件 au 格式一 Y auread aufile 读入由文件名aufile指定的声音文件 返回采样数据给变量Y 如果文件名中没有扩展名 则自动在其后加上 au作为扩展名 幅值在 1 1 范围内 支持多通道数据格式 8 bitmu law 或8 16 32 bitlinear 格式二 Y Fs bits auread aufile 返回采样率Fs Hz 以及文件中每数据编码时所用的位数 bits 17 Auwrite功能 向文件 au 中写入声音数据 格式一 auwrite A 文件名 Au 向 文件名 au 指定的文件中写入声音数据 数据在A中以一个通道一列的方式安排 幅值超过 1 1 范围时 在写入前先进行剪裁处理 格式二 auwrite A Fs 文件名 au 用指定的数据采样Fs Hz 写入声音数据 18 wavread功能 读入声音文件 wav 格式一 A wavread 文件名 wav 读入由 文件名 指定的Microsoft声音文件 wav 返回采样数据给变量A 如果文件名中没有扩展名 则自动在其后加上 wav作为扩展名 幅值在 1 1 范围内 格式二 A Fs bits wavread 文件名 wav 返回采样率Fs Hz 以及文件中每数据编码时所用的位数 bits 19 wavwrite功能 向MicrosoftWAV声音文件 wav 中写入声音数据格式一 wavwrite A 文件名 wav 向指定的文件中写入声音数据 数据在A中以一个通道一列的方式安排 幅值超过 1 1 范围时 在写入前先进行剪裁处理 格式二 wavwrite A Fs 文件名 wav 用指定的数据采样Fs Hz 写入声音数据 4 2 5基本数学函数 4 2 5 1三角函数1 正弦sin函数与反正弦函数asin函数格式 A sin X 功能 对矩阵或数组X的每个元素求正弦值 所有角度用弧度表示 格式 X asin A 功能 对于A的元素求反正弦值 结果为弧度 2 双曲正弦sinh函数与反双曲正弦函数asinh函数格式 A sinh X 功能 对矩阵或数组X的每个元素求双曲正弦值 格式 X asinh A 功能 对于A的元素求反双曲正弦值 3 余弦cos函数与反余弦函数acos函数格式 A cos X 功能 对矩阵或数组X的每个元素求余弦值 所有角度用弧度表示 格式 X acos A 功能 对于A的元素求反余弦值 结果为弧度 4 双曲余弦cosh函数与反双曲余弦函数acosh函数格式 A cosh X 功能 对矩阵或数组X的元素求双曲余弦值 格式 X acosh A 功能 对于A的元素求反双曲余弦值 5 正切tan函数与反正切函数atan函数格式 A tan X 功能 对矩阵或数组X的每个元素求正切值 所有角度用弧度表示 格式 X atan A 功能 对于A的每个元素求反正切值 结果为弧度 6 四象限反正切atan2函数格式 P atan2 Y X 功能 四象限反正切函数 返回大小与Y X相同的矩阵或数组 由Y和X对应元素的实部求反正切值得到 其中虚部忽略 7 双曲正切tanh函数与反双曲正切atanh函数格式 A tanh X 功能 对于X的每个元素求双曲正切值 格式 X atanh A 功能 对于A的每个元素求反双曲正切值 8 正割sec函数与反正割asec函数格式 A sec X 功能 对X的每个元素求正割 格式 X asec A 功能 返回A的每个元素的反正割值 9 双曲正割sec函数与反双曲正割asec函数格式 A sech X 功能 对X的每个元素求双曲正割 格式 X asech A 功能 返回A的每个元素的反双曲正割值 10 余割csc函数与反余割acsc函数格式 A csc X 功能 对X的每个元素求正割 格式 X achc A 功能 返回A的每个元素的反正割值 11 双曲余割csch函数与反双曲余割asch函数格式 A csch X 功能 对X的每个元素求双曲余割 格式 X acsch A 功能 返回A的每个元素的反双曲余割值 12 余切cot函数与反余切acot函数格式 A cot X 功能 对X的每个元素求余切 格式 X acot A 功能 返回A的每个元素的反余切值 13 双曲余切coth函数与反双曲余切函数acoth函数格式 A coth X 功能 对X的每个元素求双曲余切 格式 X acoth A 功能 返回A的每个元素的反双曲余切值 4 2 5 2指数 对数 幂运算 1 指数exp函数与自然对数log函数格式 A exp X 功能 返回X每个元素的以e为底的指数值 格式 X log A 功能 返回A的每个元素的自然对数 2 常用对数logl0函数格式 X logl0 A 功能 对A的每个元素求常用对数 3 log2函数和幂函数pow2格式 X log2 A 功能 对A的每个元素计算其以2为底的对数 格式 A pow2 X 功能 A的元素为2对X每个元素求幂得到 4 平方根函数格式 A sqrt X 功能 返回对数组X每个元素求平方根的数组 如果元素为负或复数 则结果为复数 4 2 5 3复数的基本运算 1 求复数实部函数real格式 X real Z 功能 返回复数Z的每个元素的实部 2 求复数的虚部函数imag格式 Y imag Z 功能 返回复数Z的每个元素的虚部 3 绝对值和复数模函数abs格式 A abs Z 功能 返回Z每个元素的绝对值 如果Z的元素是复数 则返回其模 4 求相角函数angle格式 P angle Z 功能 对Z的每个元素求相角 5 共轭函数conj格式 C conj Z 功能 对Z的每个元素求共轭复数 4 2 5 4数据的取舍与保留 1 向0方向取整数函数fix格式 I fix X 返回X中每个元素的最靠近零的整数 若X为复数 则分别对X的实部和虚部取整 2 向 方向取整数函数floor格式 I floor X 返回X中每个元素的最靠近该元素的最小整数 若X为复数 则分别对X的实部和虚部取最小整 3 向 方向取整数函数ceil格式 I ceil X 返回X中每个元素的最靠近该元素的最大整数 若X为复数 则分别对X的实部和虚部取最大整数 4 四舍五入取整数函数round格式 I round X 返回X中每个元素的最靠近该元素的整数 若X为复数 则分别对X的实部和虚部取整数 5 模数余函数mod格式 M mod X Y 返回X关于Y的余数 6 除后余数函数rem格式 M rem X Y 功能 返回X关于Y的余数 7 符号函数sign格式 s sign X 如果X大于零 则返回1 如果X等于零 则返回0 如果X小于零 则返回 1 如果X为复数 则算法为 SIGN X X ABS X 4 2 6基本绘图方法 2 6 1图形窗口的控制 在MATLAB中 图形的绘制必须在图形窗中进行 通常 只要执行了任意一种绘图命令 图形窗口 Figure 就会自动产生 此时 所生成的图形窗口称为当前图形窗 绘图命令所绘制的图形将在当前图形窗中完成 1 figure命令格式 figure或figure N 功能 创建一个图形窗口 使编号为N的图形窗口成为当前图形窗口 即图形窗口处于可视状态 如果窗口N不存在 则将创建一个句柄为N的图形窗口 2 clf命令 清除当前图形窗口中的所有的内容 格式 clf3 close命令 关闭图形窗口格式一 close或close N 关闭当前图形窗口或指定编号N的图形窗口 格式二 closeall关闭所有图形窗口 4 hold命令格式 holdon off 功能 保持当前图形窗的内容 或取消holdon的命令功能 恢复系统默认状态 通常 MATLAB在执行某一绘图命令时 系统会自动将当前图形窗口中的内容清除 然后再绘制 hold命令的功能就是保持当前图形窗的内容 使后续绘制函数仍可该图形窗口中完成绘图 实现一张图中绘制多个图形 若再键入hold命令就解除冻结 这种拉线开关式的控制有时会造成混乱 可以用holdon和holdoff命令来得到确定的状态 5 subplot命令功能 将一个图形窗口划分为多个子图形窗口格式 subplot m n p 或subplot nmp 将图形窗口分成n m个子图形窗口 并选择第p个子图形窗口作为当前图形窗口 供绘制函数作图使用 1 二维图形绘制命令plot MATALB为用户提供了一个基本的二维曲线绘图函数plot 格式一 plot y 输入一个数组的情况功能 如果y是一个数组 函数plot y 给出线性直角坐标的二维图 该二维图以y中元素的下标作为X坐标 y中元素的值作为Y坐标 一一对应画在X Y坐标平面图上 而且将各点以直线相连 若y的元素是复数 则plot y 等价于plot real y imag y 其中real y 是y的实部 imag y 是y的虚部 若y是矩阵 就按列绘制曲线 曲线的条数等于y矩阵的列数 格式二 plot x y 输入两个数组的情况功能 绘出以x元素为横坐标 y元素为纵坐标的曲线 数组x和y必须具有相同长度 4 2 6 2二维图形的绘制 2 线型 标记符号及颜色的设置为了设定线型 颜色以及标记符号 用户只需在plot的输入变量组后面 加一个引号 在引号内部放入线型 颜色以及标记符号的标志符即可完成 格式一 plot y 字符串 格式二 plot x y 字符串 3 图形的标注 网格以及图例说明 1 添加图形标题命令title格式 title string 功能 在当前坐标系的顶部加一个文本串string 作为该图形的标题 2 添加坐标轴标志函数xlabe ylabel zlabel格式 xlabel text 或ylabel text 或zlabel text 功能 给当前X轴或Y轴或Z轴标注文本标注 3 设置网格线命令grid格式 gridon off 功能 对当前坐标图加上网格线或撤消网格线 若直接调用grid命令即可设置或撤消网格线 4 图形标注函数legend格式 legend string1 string2 string3 功能 在当前图中添加图例 格式 Legendoff功能 撤消当前坐标图上的图例 4 坐标轴的形式与刻度 1 设置坐标轴函数axis格式一 axis xmin xmax ymin ymax 功能 对当前二维图形对象的X轴和Y轴进行标定 格式二 axis xminxmaxyminymaxzminzmax 功能 对当前三维图形对象的X Y和Z轴进行标定 格式三 axisoff on 功能 使坐标轴 刻度 标注和说明变为不显示 显示 状态 格式四 axis manual 功能 将冻结当前的坐标比例 以后的图形均以此比例绘出 2 对数坐标轴命令semilogx semilogy loglog格式 semilogx 功能 在X轴上采用常用对数来进行标定 该命令的调用格式与plot函数的调用格式相同 格式 semilogy 功能 在Y轴上采用常用对数来进行标定 该命令的调用格式与plot函数的调用格式相同 3 极坐标函数polar格式 polar theta rho 功能 绘制极角为theta 极径为rho的极坐标图形 格式 polar theta rho s 功能 绘制由S指定样式 颜色的极坐标图形 4 图形边框控制命令box格式 boxon off 对所绘制的图形添加图形边框 默认状态 或关闭图形边框 5 二维图形其它的相关函数命令 1 获取函数ginput格式 X Y ginput N 功能 从当前的坐标图上获得N个点的数据 并返回这N个点的相应X Y坐标向量 指针可以由鼠标或键盘上的除回车以外的任意键来进行输入 回车键是用来在N个数据点输完以前强行停止输入的 2 图形填充函数fill格式 fill X Y C 功能 填充二维多边形 多边形由向量X Y来定义 填充的色由C来确定 多边形的顶点是由一组X Y元素来确定 必要时应组成一个闭合的曲线 C可以从 r g b c m k 选出一种色填充也可以是一个GRB向量 r g b 用它来确定所填充的色 4 2 6 3多条曲线的绘制 在MATALB中 通常 在一张图上绘制多条曲线有以下4种方法 1 使用plot t y1 y2 命令该语句中t是向量 y y1 y2 是矩阵 若t是列向量 则y的列 行 长应与t长度相同 Y的列 行 数就是曲线的条数 2 使用hold命令在画完前一张图形后 用hold命令保持住该图形窗口中的内容 再画下一条曲线 3 利用plot x1 y1 x2 y2 xn yn 语句在该语句中 x1 y1 x2 y2 xn yn等分别为向量对 每一对X Y向量可以绘出一条图线 这样就可以在一张图上画出多图线 每一组向量对的长度可以不同 在其后面都可加线型标志符 4 使用plotyy命令 plotyy x1 y1 x2 y2 它设有两个坐标 左纵坐标对应y1 右纵坐标对应y2 以便绘制两个y尺度不同的变量 但x仍用同一个比例尺 2 6 4复数的绘图当plot z 中的z为复数变量时 即含有非零的虚部 MATLAB把复数的实部作为横坐标 虚部作为纵坐标绘图 即相当于plot real z imag z 4 2 6 5三维曲线和曲面 1 空间曲线绘制函数plot3 格式一 plot3 x y z 功能 若x y z为相同长度的向量 则根据向量x y z绘制空间三维曲线 如果x y z为同阶矩阵 则绘制对应列的多条曲线 格式二 plot3 x y z s 功能 按字符串s设置的线型 颜色 标记符号绘制三维空间曲线 字符串s的设置与plot命令的设置相同 2 三维网线图函数mesh meshc和meshzMATALB提供的函数mesh用来绘制三维网线图 格式一 mesh X Y Z 功能 根据矩阵X Y和Z绘制彩色的空间三维网线图 X Y和Z中对应的元素为三维空间上的点 点与点之间用线连接 其中网线的颜色随着网点高度的改变而改变 格式二 mesh x y Z 功能 n维向量x m维向量y和m n矩阵Z绘制网线图 节点的坐标为 x j y i Z i j 网线的颜色随着网点高度的改变而改变 x 10 0 05 10 y 8 0 05 8 X Y meshgrid x y Z sin sqrt X 2 Y 2 sqrt X 2 Y 2 mesh X Y Z 3 三维曲面图函数surf及surfc格式一 surf X Y Z C 功能 绘制由四个矩阵所指定的带色参数的网状表面图 视角是由view所指定 轴的刻度决定于X Y及Z的范围 或当前对轴的设定 颜色范围由C指定 格式二 surf X Y Z 功能 将C设为与Z相等 则颜色与网的高度成正比 4 视图函数view格式一 view az el 或view az el 功能 设置观察者观察三维图形的视角 az是方位角或者是水平旋转角度 el是仰角 格式二 view 2 或view 3 功能 设置观察三维图形视角的默认值 az 0 el 90 az 37 el 30 格式三 az el view功能 返回当前的方位和视角 4 2 7M文件及程序调试与变量属性 M文件 由MATLAB命令语句构成的程序文件称作M文件 它将m作为文件的扩展名 可以直接阅读并用任何文本编辑器来建立这种文件 M文件可分为两种 主程序和子程序 主程序 也称主程序文件 一般是由用户为解决特定的问题而编制的程序 子程序 称为函数文件 它必须由其它M文件来调用 函数文件往往具有一定的通用性 并且可以进行递归调用 1 有关程序的功能 使用方法等内容的注释 主程序前面的若干行通常是程序的注释 每行以 开始 2 程序的主体 3 整个程序应按MATLAB标识符的要求起文件名 并加上后缀m 对主程序文件的运行方式通常有两种 在MATLAB的命令窗口中运行 在MATLAB的命令窗中键入此程序的文件名后 系统就开始执行文件中的程序 在编辑窗口中运行 通过编辑窗口打开所要运行的文件 然后再运行 主程序文件中的语句可以对MATLAB工作空间中的所有数据进行运算操作 4 2 7 1M文件的结构主程序文件的格式特征如下 2 函数文件结构函数文件是用来定义子程序的 它与主程序文件的主要区别有三点 1 由function起头 后跟的函数名必须与文件名相同 2 有输入输出变元 变量 可进行变量传递 3 除非用global声明 程序中的变量均为局部变量 不保存在工作空间中 通常 函数文件由五部分构成 函数定义行 H1行 函数帮助文本 函数体 注释 函数定义命令function 格式 function output1 output2 functionname input1 input2 功能 定义函数名为functionname的函数 或子程序 该函数的输出变量为 output1 output2 输入变量为 input1 input2 例如 functiony mean x dim function为函数定义的关键字 mean为函数名 y为输出变量 x和dim为输入变量 注意 当函数具有多个输出变量时 则以方括号括起 当函数具有多个输入变量时 则直接用圆括号括起 例如 function x y z sphere theta phi rho 当函数不含输出变量时 则直接略去输出部分或采用空方括号表示 4 2 7 2局部变量与全局变量 通常 在MATALB工作空间中 变量有三类 由调用函数传递输入和输出数据的变量 在函数内临时产生的变量 称为局部变量 由调用函数空间 基本工作空间或其它函数工作空间提供的变量 称为全局变量 在MATLAB中对变量以及全局变量管理提供了以下的命令 1 global格式 globalXYZ功能 将变量X Y Z定义成全局变量 2 Persistent格式 persistentXYZ功能 将变量X Y Z定义成永久变量 persistent函数只用于函数文件中 使在每次调用时保持变量的值不变 应用举例 求解微分方程 y 2y 3y sin t Y 0 0 y 0 0 1 解析解 利用符号微分指令dsolvedsolve D2y 2 Dy 3 y sin t 0 Dy 0 0 y 0 0 1 4 exp t cos 2 1 2 t 1 4 sin t 1 4 cos t 数值解 clearsymsty dsolve D2y 2 Dy 3 y sin t 0 Dy 0 0 y 0 0 t ezplot y 010 holdonf t x x 2 3 x 1 2 x 2 sin t tx1 ode23t f 0 10 00 plot t x1 1 gridontitle 连续的是解析解 星号的是数值解 3 利用Simulink 对应的传递函数模型 4 2 7 3程序的调试 1 MATLAB的主程序的调试 MATLAB的查错能力很强 加上工作空间中变量的保存和显示功能不需要专门的调试命令 因此 主程序的调试很方便地进行 2 函数程序的调试 因为在函数程序中出错而停机时 其变量不作保存 虽然它也会指出出错的语句 但因为子程序中的变量 局部变量 在程序执行完毕后会自动消失 其它现场数据又无记录 会给调试带来很大困难 可采用下列措施 1 把某些分号改为逗号 使中间结果能显示在屏幕上 作为查错的依据 2 在子程序中适当部位加keyboard命令 到了此处 系统会暂停而等待用户键入命令 这时子程序中的变量还存于工作空间中 可以对它进行检查 3 将函数文件的第一行前加 号 使它成为程序文件来作初步调试 第一行中的输入变元 可改用input或赋值语句来输入 调试好后再改回为函数文件 4 在程序中使用人机交互命令 也可大大提高程序的调试程度
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!