数学实验第二次讲稿.ppt_第1页
数学实验第二次讲稿.ppt_第2页
数学实验第二次讲稿.ppt_第3页
数学实验第二次讲稿.ppt_第4页
数学实验第二次讲稿.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验第二讲,绘图及编程,2019/6/18,1,一,绘制平面图,1,绘制图形的重要性 我们在分析问题的时候,为了对所分析问题有更加清楚的认识,经常绘出函数的草图;而当我们在写报告以说明问题时,为了让别人更加容易理解你说的内容,图文并茂是最好的方法。因此,了解绘图的功能是多么的重要!,2019/6/18,2,一,绘制平面图,2,基本的绘图命令 Matlab中提供了绘制平面图的命令: 其中x,y是曲线必须通过的一些关键点,后面 内的三个属性用来描述曲线的颜色,线性以 及在关键点的标志。 理解绘图的基本原理。,plot(x, y, color-linestyle-marker),2019/6/18,3,一,绘制平面图,3,最基本的例子 例子1,我们想画一个y=sinx的图像。 x=1:20; y=sin(x); plot(x,y,r-o); 例子2,我们画一个y=x23x+5的图像。 x=-10:0.1:10; y= x.2+3*x+5; plot(x,y,b-*);,2019/6/18,4,一,绘制平面图,例子3,我们画一个y=(3x+2)/(x23x+5)的图像。 x=-10:0.1:10; y=(3*x+2)./(x.2+3*x+5); plot(x,y,g-+); 例子4,我们画一个y=tan(x)的图像。 x=0:0.01:pi/2; y= tan(x); plot(x,y,g-);,2019/6/18,5,一,绘制平面图,4,给图形一个标题 我们看到的书中,文章中,每个图形都有 一个合适的标题以利于阅读,这时可以使用命令 title(图形名) 5,给出图形的标注 为了别人更好的阅读,经常在曲线上加上曲线的名字,特别是在一个图上有好几条曲线时,可以采用下面的两种方法之一:,2019/6/18,6,一,绘制平面图,(1)text(x0,y0,图形名); (2) gtext(图形名); 6,坐标轴控制 前面给出的一些例子,我们对它的图形并不满意,原因是在一些点处的值太大。为了更好的反映曲线的形状。 Matlab中提供了一个命令:axis. 语法如下:,2019/6/18,7,一,绘制平面图,(1)axis(xmin xmax ymin ymax); (2)axis equal; (3)axis square;等。 7,在图形上加上网格 grid on grid off,2019/6/18,8,一,绘制平面图,8,在一个图上画几条曲线 为了进行比较,通常在同一个坐标系中画几条曲线,例如: 例子5,在同一坐标系下画出 y=sinx,y=cosx 的图形,实现上面给出的所有方法。 x=-10:0.1:10; y=sin(x);z=cos(x); plot(x,y,r-,x,z,b-); title(Sine and Cosine curves) gtext(sin(x);gtext(cos(x); grid on;,2019/6/18,9,一,绘制平面图,9,在同一页面中画多个图形 例子6, x=linspace(0,2*pi,30);y=sin(x);z=cos(x); u=2*sin(x).*cos(x);v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),title(sin(x) subplot(2,2,2),plot(x,z),title(cos(x) subplot(2,2,3),plot(x,u),title(2sin(x)cos(x) subplot(2,2,4),plot(x,v),title(sin(x)/cos(x),2019/6/18,10,一,绘制平面图,10,极坐标图形 例:画出=sin的图形。 theta=0:0.01*pi:2*pi; rho=sin(theta); polar(theta,rho,*),2019/6/18,11,一,绘制平面图,11,参数方程的图形 例:画出x=2*t,y=t3-1/(1+t2)的图形。 t=-4:0.01:4; x=2*t; y=t.3-1./(1+t.2); plot(x,y,-*) 12,查阅帮助文件了解fplot和ezplot命令的使用方法,2019/6/18,12,二,绘制空间图形,1,空间曲线的绘制 基本命令: plot3(x,y,z,color-linestyle-marker); 其用法和plot一致。 例子7:作螺旋线x=sint, y=cost,z=t。 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t); 注意:曲线的参数方程比较容易实现。,2019/6/18,13,二,绘制空间图形,2,绘制空间曲面 基本命令: mesh(X,Y,Z); 理解绘图的原理。 例子8,作出下面的曲面,2019/6/18,14,二,绘制空间图形,代码:,x=-30:0.5:30; y=x; X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps; Z=sin(R) ./ R; mesh(X, Y, Z);,注:在绘制曲面图形时,Matlab通过描出曲面上一系列点的三个坐标而实现的。因此,这些点的x,y和z坐标形成三个矩阵。程序的第二行产生x和y的矩阵X和Y,程序的第四行产生相应的z坐标的矩阵Z。,2019/6/18,15,二,绘制空间图形,例子9,画出z=xy的图形。 x=-4:0.1:4; y=x; X,Y=meshgrid(x,y); Z=X.*Y; mesh(X, Y, Z);,2019/6/18,16,二,绘制空间图形,3,产生等高线图 空间图形看起来有时不是很直观,等高线图是比较常用的一种。等高线图的命令是 contour(X,Y,Z,n); 其中,n表示等高线的条数。,2019/6/18,17,三,Matlab编程,1,命令M文件和函数M文件 前面我们已经给出很多命令M文件的例子,它实际上是一些命令的组合,在命令窗口直接输入文件名就对每一条命令依次执行。 有时,比如我们调用一个三角函数sin(x),和前面的调用有所不同,调用时往往有输入参数;再如,我们想求函数,2019/6/18,18,三,Matlab编程,y=sin(x2)+x3-ex+ln(|x|)在x=1,2,3,4等处的值。这时我们使用函数M文件。格式如下: function ff=fun(x) ff=sin(x2)+x3-exp(x)+log(abs(x); 下面是一般格式: function 输出变量列表=函数名(输入变量列表) 函数体语句;,2019/6/18,19,经常,我们需要表示多元函数,比如z=f(x,y),也就是自变量为x和y,因变量为z。Matlab总是将自变量看成是一个向量,比如两个自变量是看成一个二维向量。下面是一个这样的例子。定义一个函数f=100(y-x2)2-(1-x)2 function f=f1(x) f=100*(x(2)-x(1)2)2-(1-x(1)2; 调用格式: x=2 3; f=f1(x) 除了自变量是向量,函数值也可以是向量甚至是矩阵。比如 function F,G=f2(x) F=2*x(1)2+2*x(2)2-2*x(1)*x(2)-4*x(1)-6*x(2); G=x(1)+5*x(2)-5 2*x(1)2-x(2); -x(1) -x(2); 调用格式: x1=4 5; F1,G1=f2(x1),2019/6/18,20,三,Matlab编程,2, Matlab的控制语句 并不是每个问题都这么简单,比如同样是上面的例子,但是我们想要求在x=1,2, 100的所有函数值并且存下来以备后用。可以使用循环语句实现。 y=zeros(100,1); for i=1:100 y(i)=fun(i); end,2019/6/18,21,三,Matlab编程,For循环的一般形式 for x=x1:step:xn statments end 例:求12+100的值;369+999的值;1215的值。 除了上面的循环,还有一个循环控制语句,就是while,语法如下:,2019/6/18,22,三,Matlab编程,While循环的一般形式为: while 关系表达 statments end 比如下面的一个例子。 从1开始的自然数平 方和不超过1000,最 后一个数是多少,和为多少,2019/6/18,23,三,Matlab编程,s=0;n=1 while s=1000 s=s+n2; n=n+1; end n-1,s-(n-1)2,2019/6/18,24,例,编写函数M-文件SQT.m:用迭代法求,迭代的终止条件为前后两次求出的x的差的绝对值小于10-5。,的值。求平方根的迭代公式为:,2019/6/18,25,function ff=mysqrt(x) y0=1; y1=0.5*(y0+x/y0); while abs(y1-y0)0.00001 y0=y1; y1=0.5*(y0+x/y0); end,2019/6/18,26,最简单的形式: if 关系表达式 statments end,if-else-end结构,2019/6/18,27,if语句的另一种形式: if 关系表达式 statments1 else statments2 end,if-else-end结构,2019/6/18,28,当有三个或更多的选择时: if 关系表达式(1) statments(1) elseif 关系表达式(2) statments(2) . elseif 关系表达式(n) statments(n) else statments(n+1) end,例如,可用以下程 序得到符号函数。 function y=SIGN(x) if x0 y=-1; elseif x=0 y=0; else y=1; end,2019/6/18,29,逻辑运算符: &(与运算), |(或运算),(非运算),关系运算符: , =, = =(等于),=(不等于) 关系运算比较两个数值,当给出的关系式成立时,结果为1(表示真),否则为0(表示假)。,编程相关的几个运算符,2019/6/18,30,布置实验,1 掌握MATLAB软件的绘图命令,能熟 练应用循环和选择结构实现各种循环选 择功能。 2 通过实例练习,达到能灵活应用 MATLAB软件解决一些简单问题。 3 借助MATLAB软件的绘图功能,对函 数的特性进行探讨,广泛联想,大胆猜 想,发现进而证实其中的规律。,实验目的,2019/6/18,31,实验内容,在同一个坐标下作出 y1=1+x, y2=1+x+x2/2, y3=1+x+x2/2!+x3/3!, y4=ex 这四条曲线的图形,观察、发现、联想、猜想,给出验证及理论证明。,作图:从直观、想象到发现、猜想,2019/6/18,32,2用subplot分别在不同的坐标系下作出 四条曲线: 1)概率曲线 2)四叶玫瑰线 =sin2;(polar函数) 3)叶形线 4)曳物线,直角坐标方程, 极坐标方程, 参数方程 各领风骚,提示:第四题可以使用fplot或者ezplot完成,画出两条曲线,叠加在一个坐标上即可。,2019/6/18,33,3作出曲面 1) 2)环面: 的3维图形。,2019/6/18,34,4建立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论