matlab编程与作.ppt

(47页)

'matlab编程与作.ppt'
数学实验 MATLAB编程与作图 数据的输出格式MATLAB用十进制数表示一个常数,具体可采用日常记数法和科学记数法两种表示方法。数据输出时用户可以用format命令设置或改变数据输出格式。format命令的格式为: format 格式符注意,format命令只影响在屏幕上的显示数据输出格式,而不影响数据的计算和存储,MATLAB的数据存储和运算总是以双精度进行的。 可用菜单File/Preferences中的Command Window 里的Numarical Format来设定数据显示方式,有short(小数点后4位), long(15位数字),bank(小数点后2位),short e(5位科学计数法), long e(15位科学计数法), rat(最接近的有理数). 也可在Command Window中用命令设置,例如: format longformat short :5位定点格式,如 1.4142format long :15位定点格式,如 1.41421356237310format short e :5位浮点,如1.4142e+000format long e :15位浮点,如1.414213562373095e+000format short g :5位定点或浮点取优,如1.4142format long g:15位定点或浮点取优,如1.4142135623731format hex :十六进制数,如3ff6a09e667f3bcdformat bank :货币格式,如1.41format rat :分数之比,如1393/985format +:若为正数则显示+,若为负数则显示-,若为0则显示空如>> format short %设置定点格式,显示5位>> pians = 3.1416>> format long %设置定点格式,显示15位>> pians = 3.14159265358979关系与逻辑运算 1. 关系操作符2. 逻辑运算符MATLAB流程控制循环语句 for, while条件转移 if end, if elseif else end开关语句 switch case注释语句 %中断语句 break暂停语句 pause回显语句 echo on/off选择结构1. if语句 在MATLAB中,if语句有3种格式。 1.单分支if语句 语句格式为: if 条件 语句组 end 当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。 2.双分支if语句 语句格式为: if 条件 语句组1 else 语句组2 end 当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。 例1. 计算分段函数值程序如下:>> x=input('请输入x的值:'); if x==10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x)); end y请输入x的值:y = 47.1893121.m 3.多分支if语句语句格式为:if 条件1 语句组1 else if 条件2 语句组2 …… else if 条件m 语句组m else 语句组m+1end 例2. 输入一个字符,若为大写字母,则输出其后继字符,若为小写字母,则输出其前导字符,若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input('请输入一个字符','s'); if c>='A' & c='a'& c='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end程序如下:2.m 2.开关结构:switch语句 其语句格式为:switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 …… case 表达式m 语句组m otherwise 语句组m+1 end 例3. 某商场对顾客所购买的商品实行打折销售,已知打折标准为:商品价格小于200元时,折扣率为0;商品价格大于或等于200元且小于500时,折扣率为0.03;商品价格大于或等于500且小于1000元时,折扣率为0.05;商品价格大于或等于1000且小于2500元时,折扣率为0.08;商品价格大于或等于2500且小于5000元时,折扣率为0.1;商品价格大于或等于5000元时,折扣率为0.14;求所售商品的实际销售价格。程序如下>>price=input('请输入商品价格'); switch fix(price/100) case {0,1} rate=0; case {2,3,4} rate=3/100; case {5:9} rate=5/100; case {10:24} rate=8/100; case {25:49} rate=10/100; otherwise rate=14/100; end price=price*(1-rate)请输入商品价格890price = 845.5000Price.m 3. try语句语句格式为:try 语句组1catch 语句组2end try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。 例4. 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。程序如下:4.mA=[1,2,3;4,5,6]; B=[7,8,9;1。省略部分。程序如下: m=input('m='); p=2:m; for i=2:sqrt(m) n=find(rem(p,i)==0&p~=i); p(n)=[]; end pm=100p = Columns 1 through 5 2 3 5 7 11 Columns 6 through 10 13 17 19 23 29 Columns 11 through 15 31 37 41 43 47 Columns 16 through 20 53 59 61 67 71 Columns 21 through 25 73 79 83 89 97 7.m小结:MATLAB程序的基本组成结构%说明清除命令:清除workspace中的变量和图形(clear,close)定义变量:包括全局变量的声明及参数值的设定逐行执行命令:指MATLAB提供的运算指令或工具箱… … … 提供的专用命令控制循环 : 包含for,if then,switch,while等语句 逐行执行命令… … …end绘图命令:将运算结果绘制出来当然更复杂程序还需要调用子程序,或与simulink以及其他应用程序结合起来。MATLAB作图二维图形三维图形图形处理实例特殊二、三维图形  MATLAB提供多种图形功能,使你的数据或函数可视化,使数据不再是枯燥乏味的。使用MATLAB的图形函数,可以绘制二维或三维的数据图形和函数图形,如数据的散点图、直方图、茎干图、饼图、阶梯图和面积图等。使数据可视化的基本步骤是:1.准备好数据;2.选择适用的绘制图形函数;3.选择窗口和位置;4.编辑图形标注和说明;5.输出或保存图形。MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令 MATLAB作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给MATLAB函数画图. 命令为:plot(X,Y,S)plot(X,Y)— 画实线plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn) — 将多条线画在一起X,Y是向量,分别表示点集的横坐标和纵坐标线型y 黄色 . 点 - 连线m 洋红 o 圈 : 短虚线c 蓝绿色 x x-符号 -. 长短线 r 红色 + 加号 -- 长虚线1.曲线图例 在[0,2 ]用红线画sin x,用绿圈画cos x. x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,'r',x,z, 'g0')解MATLAB liti12.符号函数(显函数、隐函数和参数方程)画图(1) ezplotezplot(‘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的函数图.例 在[0, ]上画y=cos x 的图形.解 输入命令 ezplot(‘sin(x)’,[0,pi])MATLAB liti25解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])MATLAB liti41解 输入命令ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])MATLAB liti40(2) fplot注意:[1] fun必须是M文件的函数名或是独立变量为x的字符串. [2] fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形.fplot(‘fun’,lims) 表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形.解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2)再输入命令:fplot(‘myfun1’,[-1,2])MATLAB liti43MATLAB liti28 解 输入命令: fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1])例 在[-2,2]范围内绘制函数tanh的图形.解 fplot(‘tanh’,[-2,2])MATLAB liti423. 对数坐标图 在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换.loglog(Y) 表示 x、y坐标都是对数坐标系semilogx(Y) 表示 x坐标轴是对数坐标系semilogy(…) 表示y坐标轴是对数坐标系plotyy 有两个y坐标轴,一个在左边,一个在右边例 用方形标记创建一个简单的loglog.解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅MATLAB liti37例 创建一个简单的半对数坐标图.解 输入命令: x=0:.1:10; semilogy(x,10.^x)MATLAB liti38例 绘制y=x3的函数图、对数坐标图、半对数坐标图.MATLAB liti22返回作业:设求的值,并作该函数在的图形.谢谢!
关 键 词:
matlab 编程
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:matlab编程与作.ppt
链接地址: https://www.wenku365.com/p-48121244.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开