




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
E mail cxdzlh Tel 49936260 数学实验 MATALAB编程与作图 MATALAB控制流 MATALAB作图 M文件 2 1M文件编写初步 本质 就是将一些指令预先在M文件中编辑好 然后在需要时将M文件调出来执行即可 M文件的分类 一类为简单的脚本M文件 一类为函数M文件 脚本M文件就是就是一连串常用指令的组合 可在指令窗口中直接执行 函数M文件的开头一行需要有一个函数名称 然后用小括弧包括需要的输入参数 函数名称前可以有等号 在此等号的左方是它的输出参数 MATLAB的内部函数是有限的 有时为了研究某一个函数的各种性态 需要为MATLAB定义新函数 为此必须编写函数文件 函数文件是文件名后缀为M的文件 这类文件的第一行必须是一特殊字符function开始 格式为 function因变量名 函数名 自变量名 函数值的获得必须通过具体的运算实现 并赋给因变量 1 函数M文件 单击MATALAB窗口里的 New Mfile 图标 输入代码 functionz fun x z x 1 2 x 2 2 2 x 1 x 2 6 x 1 6 x 2 单击 File Save 把文件保存在 Work 文件夹下 在指令窗口中输入如下指令即可看到运行结果 fun 2 3 例2定义函数f x1 x2 100 x2 x12 2 1 x1 2 functionf fun x f 100 x 2 x 1 2 2 1 x 1 2 1 建立M文件 2 可以直接使用函数fun m 例如 计算f 1 2 只需在Matlab命令窗口键入命令 fun 12 2 2MATALAB程序设计初步 MATALAB提供了四种控制程序流结构 for while循环结构 if else end分支结构 switch case结构 try catch结构 1 for while循环结构 1 1for语句 for循环 允许一组命令以固定的和预定的次数重复for变量 array 初始值 增量 终止值 运算指令 commands end 注1增量默认值为1 也可自己定义增量值 增量值可小于0 当增量值大于零时 程序将在变量大于终止值时终止 当增量小于零时 程序将在变量小于终止值时结束 forn 1 10 x n sin n pi 10 endx 单循环语句 forn 2 6 x n 2 x n 1 endx x 1 1 s 0 fori 1 100000s s 1 2 i 1 3 i ends 多重嵌套循环语句 form 1 5forn 1 5H m n m nendendH 1 2while语句 与for循环以固定次数求一组命令相反 while循环以不定的次数求一组语句的值 while表达式 expression 循环体 commands end只要在表达式 expression 里的所有元素为真 就执行while和end语句之间的命令串 commands 执行完成后再判断表达式是否为真 若不是则跳出循环体 向下继续执行 s 0 i 0 whiles 10000i i 1 s s i endi 例2设银行年利率为11 25 将10000元钱存入银行 问多长时间会连本带利翻一番 money 10000 years 0 whilemoney 20000 years years 1 money money 1 11 25 100 endyears 1 3if else end分支结构 1 有一个选择的一般形式是 if逻辑表达式 expression 执行语句 commands end如果在表达式 expression 里的所有元素为真 就执行if和end语句之间的命令串 commands 先建立M文件f m定义函数f x 再在Matlab命令窗口输入f 2 f 1 即可 functionf f x ifx 1f x 2 1Endifx 1f 2 xend 2 有多个选择的一般形式是 if逻辑表达式执行语句1elseif逻辑表达式执行语句2elseif逻辑表达式执行语句3elseif else执行语句endend functionf fun2 x ifx 1f x 2 1elseifx 0f x 3elsef 2 xendend 1 3try catch结构 try语句用来检测程序代码是否会产生错误 一旦错误发生 MATALAB会立即跳入到相应的catch语句中去 trystatement1 命令块statement1被执行 若正确 则跳出此结构 catchstatement2 当命令块statement1出现执行错误则执行命令块则statement2 end 输入矩阵A B的值 执行上面的程序 当A的列数不等于B的行数时 程序就会发现这个错误 并打印消息 Errorcxd1A B 例如 functioncxd1 A B tryX A Bcatchdisp Errorcxd1A B end E mail cxdzlh Tel 49936260 数学建模 第六章作图 2 3MATLAB图形绘制 2 3 1二维曲线图形 Matlab作图是通过描点 连线来实现的 故在画一个曲线图形之前 必须先取得该图形上的一系列的点的坐标 即横坐标和纵坐标 然后将该点集的坐标传给Matlab函数画图 基本命令为 plot X Y S 可以用下面的语句直接绘制出多条的曲线 plot X Y1 X Y2 X Yn 参数S的各种选项 注1上表中的选项可以进行组合 例如 若想绘制红色的点划线且每个转折点上用五角星表示 则选相应适用怎样的组合形式 r pentagram x pi 0 05 pi y sin tan x tan sin x plot x y x 0 0 05 2 pi y sin x z cos x plot x y b x z r 几点说明 1 若X Y都为向量 则分别表示点集的横坐标和纵坐标 例如plot X Y 画实线 S 曲线的性质 线性 粗细 颜色等 2 若X向量 Y为矩阵 则将在同一坐标系下绘制m条曲线 每一行和X的关系将绘制出一条曲线 注意 要求Y矩阵的列数应该等于向量X的长度 例 x 0 0 1 2 A sin pi x 0 5 0 5 x plot x A 2条不同的曲线 3 若X Y都为矩阵 且假设X和Y的行 列数相同 则将绘制出X矩阵每行和Y矩阵对应行之间关系的曲线 例 A 142 0 34 043 B 100 010 001 plot A B 对应点的连线 符号函数 显函数 隐函数和参数方程 画图 1 ezplot ezplot x t y t tmin tmax 表示在区间tmin t tmax绘制参数方程x x t y y t 的函数图 ezplot f x a b 表示在a x b绘制显函数f f x 的函数图 ezplot f x y xmin xmax ymin ymax 表示在区间xmin x xmax和ymin y ymax绘制隐函数f x y 0的函数图 例1在 0 pi 上画y cosx的图形 解输入命令ezplot sin x 0 pi 解输入命令ezplot cos t 3 sin t 3 0 2 pi 解输入命令ezplot exp x sin x y 0 2 0 5 0 2 2 3 2图形处理 1 subplot函数 subplot m n p 该命令将当前图形窗口分成m n个绘图区 即每行n个 共m行 区号按行优先编号 且选定第p个区为当前活动区 例 在一个图形窗口中同时绘制正弦 余弦 正切曲线 x linspace 0 pi 60 y sin x z cos x w tan x subplot 1 3 1 plot x y subplot 1 3 2 plot x z subplot 1 3 3 plot x w 2 分隔线控制和图形标注 MATALAB的默认状态下是不画分隔线 它的疏密取决于坐标刻度 调用格式 gridon画出分隔线gridoff不画分隔线 例如 x 1 90 y sin x plot x y gridon 3 图形标注 1 坐标轴名label 给相应的坐标轴x y z加标注 只要调用相应的函数xlabel ylabel zlabel 以函数xlabel为例 其调用格式为 xlabel text 1 text 为要添加的标注文本 2 书写图名title 给图形加标题 其调用格式为 title text 注 title命令要写到plot命令之后 否则不起作用 特殊字符串是区分大小的 实例 t 0 0 2 2 pi plot t sin t o t cos t xlabel x ylabel y title sin x 和cos x 曲线 4 特殊二维图形 1 极坐标图 其调用格式为 polar theta rho s 例试用极坐标绘制函数 theta 0 0 1 2 pi rho 5 sin 4 theta 3 polar theta rho rdiamond 2 散点图 与plot类似 但只有数据点 例绘制函数y sinx的散点图 x 1 40 y sin x scatter x y 其调用格式为 scatter x y c s c是指散点的大小 3 直方图 显示数据的分布规律 其调用格式为 hist y 使用10个等距离分布的区间来对向量y的分布进行统计 并返回每个区间上含有y中元素的个数 Y randn 15000 2 hist Y 4 阶梯图形函数stairs x y 可以绘制阶梯图形 x 2 5 0 25 2 5 y exp x x stairs x y 5 条形图形函数bar x y 可以绘制条形图形 如下列程序段将绘制条形图形x 2 5 0 25 2 5 y exp x x bar x y 6 填充图形fill x y c 函数用来绘制并填充二维多边图形 x和y为二维多边形顶点坐标向量 字符 c 规定填充颜色 下述程序段绘制一正方形并以黄色填充 x 01100 y 00110 fill x y y x 0 0 025 2 pi y sin 3 x fill x y k Matlab系统可用向量表示颜色 通常称其为颜色向量 基本颜色向量用 rgb 表示 即RGB颜色组合 以RGB为基本色 通过r g b在0 1范围内的不同取值可以组合出各种颜色 x 0 0 025 2 pi y sin 3 x fill x y 0 30 4 6 4 平面等值线图 contour x y z n 绘制n个等值线的二维等值线图 解 X Y meshgrid 2 0 2 2 2 0 2 3 Z X exp X 2 Y 2 contour X Y Z 2 3 3三维图形 1 空间曲线 2 空间曲面 plot3 x y z s 空间曲线 1 一条曲线 t 0 0 1 2 pi x t 3 sin 3 t exp t y t 3 cos 3 t exp t z t 2 plot3 x y z plot3 x y z 2 多条曲线 例画多条曲线观察函数Z X Y 2 这里meshgrid x y 的作用是产生一个以向量x为行 向量y为列的矩阵 其中x y z是都是m n矩阵 其对应的每一列表示一条曲线 解x 3 0 1 3 y 1 0 1 5 X Y meshgrid x y Z X Y 2 plot3 X Y Z 空间曲面 1 网格图 所谓网格图 是指把相邻的数据点连接起来相成的网状面 mesh x y z c 例绘peaks的网格图 解 x y z peaks mesh x y z peaks函数用于生成高斯型分布的数据 其参数为生成数据矩阵的维数 2 曲面图 所谓曲面图 就是把网格图表面的网格为成的小片区域 补片 用不同的颜色填充形成的彩色表面 说明 在绘制三维图形之前 应该先调用meshgrid 函数生成网格数据x和y 这样可以按函数公式用点运算的方式计算出z矩阵 之后就可以用函数进行三维图形绘制 X Y meshgrid x y Z f x y Surf x y z 例绘peaks的曲面图 解 x y z peaks surf x y z 例1绘z sinx cosy的曲面图 解 x y meshgrid 0 0 5 2 pi 0 0 4 2 pi z sin x cos x surf x y z 解 x y meshgrid 0 31 n 2 D0 200 D sqrt x 16 2 y 16 2 z 1 1 D 2 n D0 surf x y z 在图形上加格栅 图例和标注 定制坐标 图形保持 分割窗口 缩放图形 改变视角 图形处理 动画 1 在图形上加格栅 图例和标注 1 gridon 加格栅在当前图上gridoff 删除格栅 2 xlabel string 在当前图形的x轴上加图例string ylabel string 在当前图形的y轴上加图例string zlabel string 在当前图形的z轴上加图例string title string 在当前图形的顶端上加图例string 例绘制z sinh x cosy的图形 并加注图例 自变量X 自变量Y 函数z 三维示意图 并加格栅 解 x y meshgrid 0 0 5 2 pi z sinh x cos y surf x y z gridon xlabel 自变量x ylabel 自变量y zlabel 函数z title 三维图形示意图 3 gtext string 命令gtext string 用鼠标放置标注在现有的图上 运行命令gtext string 时 屏幕上出现当前图形 在图形上出现一个交叉的十字 该十字随鼠标的移动移动 当按下鼠标左键时 该标注string放在当前十交叉的位置 例在区间 0 2 pi 画sin x 并分别标注 sin x cos x 解x linspace 0 2 pi 30 y sin x z cos x plot x y x z gtext sin x gtext cos x 2 定制坐标 axis xminxmaxyminymaxzminzmax 例在区间 0 005 0 01 显示sin 1 x 的图形 解x linspace 0 0001 0 01 1000 y sin 1 x plot x y axis 0 0050 01 11 定制图形坐标 将坐标轴返回到自动缺省值 axisauto 3 图形保持 1 holdonholdof 例将z sin x cos y w cos x tan y 画出在同一屏幕上 保持当前图形 以便继续画图到当前图上 释放当前图形窗口 x y meshgrid 0 0 5 2 pi 0 0 4 2 pi z sin x cos x w cos x tan y surf x y z holdonsurf x y w 2 figure h 例区间 0 2 pi 新建两个窗口分别画出y sin x z cos x 新建h窗口 激活图形使其可见 并把它置于其它图形之上 x linspace 0 2 pi 100 y sin x z cos x plot x y title sin x pausefigure 2 plot x z title cos x pause 5 缩放图形 zoomon 单击鼠标左键 则在当前图形窗口中 以鼠标点中的点为中心的图形放大2倍 单击鼠标右键 则缩小2倍 例缩放y sin x 的图形 zoomoff 为当前图形打开缩放模式 关闭缩放模式 x linspace 0 2 pi 30 y sin x plot x y zoomon 6 改变视角view 1 view a b 命令view a b 改变视角到 a b a是方位角 b为仰角 缺省视角为 37 5 30 例画出曲面Z sinx cosy在不同视角的网格图 view用空间矢量表示的 三个量只关心它们的比例 与数值的大小无关 x轴view 1 0 0 y轴view 0 1 0 z轴view 0 0 1 2 view x y z X Y meshgrid 0 0 5 2 pi 0 0 3 2 pi Z sin X cos Y subplot 2 2 1 mesh X Y Z subplot 2 2 2 mesh X Y Z view 50 34 subplot 2 2 3 mesh X Y Z view 60 70 subplot 2 2 4 mesh X Y Z view 0 1 1 特殊的三维图形函数 1 空间等值线图 contour3 x y z n 其中n表示等值线数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第22课《智取生辰纲》说课稿- 统编版语文九年级上册
- 2025年中国废水除臭剂行业市场分析及投资价值评估前景预测报告
- 贵州省开阳县南江布依族苗族乡中心学校人教版七年级地理下册:第十章 极地地区 说课稿001
- 高等数学线下考试题及答案
- 八年级地理下册 8.2 干旱的宝地-塔里木盆地说课稿(新版)新人教版
- 2025年外贸行业招聘笔试预测题
- 2025年市场营销经理招聘面试模拟题及策略分析
- 2025年实-用指南环保工程项目经理竞聘面试技巧与模拟题
- 问题研究 能否利用南极冰山解决沙特阿拉伯的缺水问题教学设计高中地理人教版2019选择性必修1-人教版2019
- 2025年医疗领域专业人才招聘考试模拟题及答案解析
- 《急性肝功能衰竭》课件
- 韩餐服务员培训
- 2024年-2025年电梯检验员考试题库及答案
- 新入团团课培训
- 挖掘机安全培训教程
- 高中语文++《兼爱》课件+统编版高中语文选择性必修上册
- 学术论文文献阅读与机助汉英翻译智慧树知到答案2024年重庆大学
- (初级)航空油料特设维修员(五级)理论考试题库-上(单选题)
- 医疗质量医疗安全十八项核心制度培训模板
- 预应力混凝土管桩(L21G404)
- 2023年山西省普通高中学业水平考试真题物理试题(含答案解析)
评论
0/150
提交评论