数学实验matlab程序设计基础及绘图

上传人:第*** 文档编号:61729672 上传时间:2018-12-11 格式:PPT 页数:34 大小:532.01KB
返回 下载 相关 举报
数学实验matlab程序设计基础及绘图_第1页
第1页 / 共34页
数学实验matlab程序设计基础及绘图_第2页
第2页 / 共34页
数学实验matlab程序设计基础及绘图_第3页
第3页 / 共34页
数学实验matlab程序设计基础及绘图_第4页
第4页 / 共34页
数学实验matlab程序设计基础及绘图_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数学实验matlab程序设计基础及绘图》由会员分享,可在线阅读,更多相关《数学实验matlab程序设计基础及绘图(34页珍藏版)》请在金锄头文库上搜索。

1、第 2 章 MATLAB程序设计基础 与绘图,2018/12/11,2,第一章 Matlab入门,内容提要,2.1 二维图形 2.2 三维图形 2.3 四维表现图 2.4 图形处理技术 2.5 控制语句 2.6 M文件 2.7 程序设计的辅助函数,2018/12/11,3,第一章 Matlab入门,程序设计基础,程序基本结构 顺序结构,循环结构,分支结构 顺序结构语句 赋值语句:变量名=表达式 键盘输入语句 :变量名=input(提示信息) 屏幕输出语句 : disp(字符串),2018/12/11,4,第一章 Matlab入门,程序设计基础,循环结构语句 for循环,语法格式如下: for

2、循环变量=初值 : 增量 : 终值 语句组 end,2018/12/11,5,第一章 Matlab入门,程序设计基础,循环结构语句 while循环,语法格式如下: while 条件式 语句组 end 在for循环和while循环中,都可以使用break语句来终止循环,2018/12/11,6,第一章 Matlab入门,程序设计基础,分支结构语句 if语句,语法格式如下: 单分支:if 条件式 语句组 end 多分枝:if 条件式1 语句组1 elseif 条件式2 语句组2 else 语句组 (这一句可以不用) end,2018/12/11,7,第一章 Matlab入门,程序设计基础,分支结构

3、语句 switch语句,语法格式如下: switch 表达式 , case 值1 , 语句1 , case 值2 , 语句2 , , otherwise 语句 , end 也可分行书写: switch 表达式 case 值1 语句1 case 值2 语句2 otherwise 语句n end,2018/12/11,8,第一章 Matlab入门,程序设计基础,其它语句 pause语句:暂停,按任意键继续 return语句:返回到函数调用处(常用于函数语句体未执行完毕时的强制返回) 强行终止程序的执行:Ctrl+C,2018/12/11,9,第一章 Matlab入门,程序设计基础,例2.1 计算

4、解:用for循环 s=0; for n=1:100 s=s+1/n2; end disp(s=, num2str(s),注:这里的n每取一次值就执行一次语句体,所以n是数,而不是数组,“/”和“”运算可以不用“./”和“ . ” 。,2018/12/11,10,第一章 Matlab入门,程序设计基础,例2.1 计算 也可以用while循环: s=0; n=1; while n=100 s=s+1/n2; n=n+1; end disp(s=, num2str(s),2018/12/11,11,第一章 Matlab入门,程序设计基础,例2.1 计算 还可以使用更简单的方法: n=1:100; s

5、=sum(1./n.2); disp(s=, num2str(s),2018/12/11,12,第一章 Matlab入门,程序设计基础,M文件的概念 命令文件:MATLAB的批处理程序文件(由若干语句行组成) 函数文件:MATLAB的内部函数和用户自定义函数文件 建立方法: 在MATLAB的M文件编辑器窗口或者其他任何文本文件编辑器中均可建立 文件主名以字母开头,由字母、数字或下划线组成(不要使用汉字);文件扩展名为 .m (MATLAB会自动加扩展名) 保存到当前目录(Current Directory)下,或保存到其他目录并将该目录设置为搜索路径 调用方法:以该文件的主名来调用(注意:不要

6、加 .m),2018/12/11,13,第一章 Matlab入门,程序设计基础,命令文件 例2.2 :计算 (m的值由用户输入) 建立命令文件 eg2_2 . m ,内容如下:,调用: eg2_2,m=input(请输入:m=); n=1:m; s=sum(1./n.2),2018/12/11,14,第一章 Matlab入门,程序设计基础,函数文件 函数文件在内容上比命令文件多了一个文件头: function 因变量名, =函数名(自变量名, ) 语句组 调用函数文件也是使用文件主名,同时必须给自变量赋予确定的取值,并使用圆括号把自变量括起来 函数值由“语句组”中因变量获得的最后结果决定 函数

7、名最好与文件主名相同,以方便理解,2018/12/11,15,第一章 Matlab入门,程序设计基础,函数文件 例2.3 :定义函数 建立函数文件 eg2_3 . m ,内容如下:,function s=f(m) n=1:m; s=sum(1./n.2);,调用: eg2_3(1000),2018/12/11,16,第一章 Matlab入门,程序设计基础,函数文件 例:定义一个计算圆锥体积的函数 建立函数文件 yuanzhui_tiji. m ,内容如下:,function v=yuanzhui_tiji(r, h) v=1/3*pi.*(r.2).*h;,调用: yuanzhui_tiji(

8、5.3, 7.6),2018/12/11,17,第一章 Matlab入门,程序设计基础,函数文件 进一步:定义一个计算圆锥体积和侧面积的函数 建立函数文件 yuanzhui_tiji_cemianji. m , 如下 :,function v, s=f(r, h) v=1/3*pi.*(r.2).*h; s=pi.*r.*sqrt(r.2+h.2);,调用: v, s=yuanzhui_tiji_cemianji(5.3, 7.6),说明:调用多值函数时,可以按顺序只取前面的因变量值。,2018/12/11,18,第一章 Matlab入门,程序设计基础,内联函数inline(适合在命令窗口定义

9、简单函数) 定义方法: 函数名=inline(函数表达式, 自变量名, .) 调用方法:函数名(自变量取值, ) 匿名函数( 7.0 以上版本具有此功能) 定义方法:函数名=(自变量名, .)函数表达式 调用方法:函数名(自变量取值, ),只有一个自变量时,可以省略此项不写,2018/12/11,19,第一章 Matlab入门,程序设计基础,例2.4 编写一个函数文件,对任意输入的向量x, 计算如下分段函数值构成的向量。 eg2_4a eg2_4b,2018/12/11,20,第一章 Matlab入门,绘图,点、线作图命令 平面点集或连线 plot(x, y, 图形特征符) 其中,x、y是长度

10、相同的一维数组,它们构成平面点集的横坐标和纵坐标;图形特征符用于指定颜色、点型(标记)和线型(参见P31 表2.4 )。 不指定点型和线型时,默认实连线。 当数据点足够密集时,看起来即是“曲线图” 举例 x=0: 0.1: 2*pi ; y=sin(x) ; plot(x, y, ro-),可以在作图语句之后使用grid on命令给坐标系增加网格线,使用grid off去掉网格线。平面图默认grid off,空间图默认grid on。,2018/12/11,21,第一章 Matlab入门,绘图,点、线作图命令 多组平面点集或连线的叠加图 plot(x1, y1, 图形特征符, x2, y2,

11、图形特征符, .) 其中,x1、y1是一对长度相同的一维数组,x2、y2也是一对长度相同的一维数组, 同一自变量对应多个因变量的叠加图 plot( t , y1; y2; ) 其中,t、y1、y2 是长度相同的一维数组 注意:y1、y2、 之间必须用分号(;) 举例,2018/12/11,22,第一章 Matlab入门,绘图,点、线作图命令 空间点集或连线 plot3(x, y, z, 图形特征符) 其中x、y、z是长度相同的一维数组,它们构成空间点集的坐标 举例 t=0:0.1:4*pi; x=cos(t); y=sin(t); z=2*t; plot3(x, y, z, r* ); gri

12、d on,2018/12/11,23,第一章 Matlab入门,绘图,一元函数曲线作图命令 fplot( 一元函数 , a, b, 图形特征符) 绘制一元函数在区间a, b上的图形 其中,一元函数可以是: M函数文件名,比如:fplot( sin , 0, 2*pi , r ) 函数表达式,比如:fplot( sin(x)+2*x-1 , -10, 10 , : ) 内联函数名(不加单引号) 比如:y=inline( log(x)/exp(x) ) ; fplot( y , 1 , 10 ) 注意:在fplot命令中使用图形特征符时,点距是由软件内部决定的,用户不能干预,所以该命令通常不使用“

13、点型”。(举例),2018/12/11,24,第一章 Matlab入门,绘图,一元函数曲线作图命令 举例 例2.5:作出函数 y=x3-x-1 和 y=|x|0.2sin(5x)在区间 -1, 2的叠加图 怎样作叠加图? 方法一:使用plot命令一次绘制多组图(需生成点集坐标) 方法二:作完一幅图后,使用hold on命令保留该图形,继续作下一幅图, ,直到使用hold off命令释放该功能或者关闭图形窗口。 eg2_5,2018/12/11,25,第一章 Matlab入门,绘图,曲面作图命令 预备知识:平面矩形区域上的点坐标 设平面区域 axb, c yd 取 x0=a : h1 : b ,

14、 y0=c : h2 : d 则 该矩形区域上的点坐标可用直线组x与直线组y的交点坐标来表示 在MATLAB中,可以使用meshgrid命令来生成平面点集的坐标: x, y=meshgrid(x0, y0) 其结果中的x和y是同阶矩阵,分别表示矩形区域中的x坐标和对应的y坐标 以x0=1, 2, 3, 4; y0=5, 6, 7为例(演示),2018/12/11,26,第一章 Matlab入门,绘图,曲面作图命令 mesh(x, y, z) : 绘制空间网面图 surf(x, y, z) : 绘制空间曲面图 其中,x和y是平面点集的坐标(通常使用meshgrid命令来生成),z是对应的函数值坐

15、标,它们是同阶矩阵,表示曲面的三维数据。 例2.6:绘制下面的二元函数图形 eg2_6a,2018/12/11,27,第一章 Matlab入门,绘图,曲面作图命令 mesh(x, y, z) : 绘制空间网面图 surf(x, y, z) : 绘制空间曲面图 辅助命令 shading flat %去掉曲面图上的网格线 shading interp %去掉网格线,并使曲面光滑 shading faceted %恢复曲面图 图形视角的调整: view(方位角, 俯仰角)命令或鼠标拖动,2018/12/11,28,第一章 Matlab入门,2.2 作图,曲面作图命令 contour(x,y,z) %绘制等高线图(与mesh用法类似) contour(x,y,z, n) %画n条等高线 contour(x,y,z, h1, h2, ) %在指定高度画等高线 contour(x,y,z, h, h) %在指定的一个高度画等高线 c,h=contour(x,y,z) %画等高线,并生成高度标识数据 clabel(c,h) %给等高线标注高度值 contourf(x,y,z) %另一种等高线图(填充色彩) contour3(x,y,z) %三维等高线图 meshc(x,y,z) %在网面图下方投影等高线 surfc(x,y,z) %在曲面图下方投影等高线 eg2_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号