数学实验第二次讲稿.ppt

上传人:小飞机 文档编号:6295464 上传时间:2023-10-14 格式:PPT 页数:36 大小:317.82KB
返回 下载 相关 举报
数学实验第二次讲稿.ppt_第1页
第1页 / 共36页
数学实验第二次讲稿.ppt_第2页
第2页 / 共36页
数学实验第二次讲稿.ppt_第3页
第3页 / 共36页
数学实验第二次讲稿.ppt_第4页
第4页 / 共36页
数学实验第二次讲稿.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数学实验第二次讲稿.ppt》由会员分享,可在线阅读,更多相关《数学实验第二次讲稿.ppt(36页珍藏版)》请在三一办公上搜索。

1、数学实验第二讲,绘图及编程,2023/10/14,1,一,绘制平面图,1,绘制图形的重要性 我们在分析问题的时候,为了对所分析问题有更加清楚的认识,经常绘出函数的草图;而当我们在写报告以说明问题时,为了让别人更加容易理解你说的内容,图文并茂是最好的方法。因此,了解绘图的功能是多么的重要!,2023/10/14,2,一,绘制平面图,2,基本的绘图命令 Matlab中提供了绘制平面图的命令:其中x,y是曲线必须通过的一些关键点,后面内的三个属性用来描述曲线的颜色,线性以及在关键点的标志。理解绘图的基本原理。,plot(x,y,color-linestyle-marker),2023/10/14,3

2、,一,绘制平面图,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-*);,2023/10/14,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-);,2023/10/14,5

3、,一,绘制平面图,4,给图形一个标题 我们看到的书中,文章中,每个图形都有一个合适的标题以利于阅读,这时可以使用命令 title(图形名)5,给出图形的标注 为了别人更好的阅读,经常在曲线上加上曲线的名字,特别是在一个图上有好几条曲线时,可以采用下面的两种方法之一:,2023/10/14,6,一,绘制平面图,(1)text(x0,y0,图形名);(2)gtext(图形名);6,坐标轴控制 前面给出的一些例子,我们对它的图形并不满意,原因是在一些点处的值太大。为了更好的反映曲线的形状。Matlab中提供了一个命令:axis.语法如下:,2023/10/14,7,一,绘制平面图,(1)axis(x

4、min xmax ymin ymax);(2)axis equal;(3)axis square;等。7,在图形上加上网格 grid on grid off,2023/10/14,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;,20

5、23/10/14,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),2023/10/14,10,一,绘制平面图,10

6、,极坐标图形 例:画出=sin的图形。theta=0:0.01*pi:2*pi;rho=sin(theta);polar(theta,rho,*),2023/10/14,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命令的使用方法,2023/10/14,12,二,绘制空间图形,1,空间曲线的绘制 基本命令:plot3(x,y,z,color-linestyle-marker);其用法和plot一致。例子7

7、:作螺旋线x=sint,y=cost,z=t。t=0:pi/50:10*pi;plot3(sin(t),cos(t),t);注意:曲线的参数方程比较容易实现。,2023/10/14,13,二,绘制空间图形,2,绘制空间曲面 基本命令:mesh(X,Y,Z);理解绘图的原理。例子8,作出下面的曲面,2023/10/14,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通过描出曲面上一系列点的三个坐标而实现的。因此,这些点

8、的x,y和z坐标形成三个矩阵。程序的第二行产生x和y的矩阵X和Y,程序的第四行产生相应的z坐标的矩阵Z。,2023/10/14,15,二,绘制空间图形,例子9,画出z=xy的图形。x=-4:0.1:4;y=x;X,Y=meshgrid(x,y);Z=X.*Y;mesh(X,Y,Z);,2023/10/14,16,二,绘制空间图形,3,产生等高线图 空间图形看起来有时不是很直观,等高线图是比较常用的一种。等高线图的命令是 contour(X,Y,Z,n);其中,n表示等高线的条数。,2023/10/14,17,三,Matlab编程,1,命令M文件和函数M文件 前面我们已经给出很多命令M文件的例子

9、,它实际上是一些命令的组合,在命令窗口直接输入文件名就对每一条命令依次执行。有时,比如我们调用一个三角函数sin(x),和前面的调用有所不同,调用时往往有输入参数;再如,我们想求函数,2023/10/14,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 输出变量列表=函数名(输入变量列表)函数体语句;,2023/10/14,19,经常,我们需要表示多元函数,比如z=f(x,

10、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,

11、G1=f2(x1),2023/10/14,20,三,Matlab编程,2,Matlab的控制语句 并不是每个问题都这么简单,比如同样是上面的例子,但是我们想要求在x=1,2,100的所有函数值并且存下来以备后用。可以使用循环语句实现。y=zeros(100,1);for i=1:100 y(i)=fun(i);end,2023/10/14,21,三,Matlab编程,For循环的一般形式 for x=x1:step:xn statments end 例:求12+100的值;369+999的值;1215的值。除了上面的循环,还有一个循环控制语句,就是while,语法如下:,2023/10/14,

12、22,三,Matlab编程,While循环的一般形式为:while 关系表达 statments end 比如下面的一个例子。从1开始的自然数平 方和不超过1000,最 后一个数是多少,和为多少,2023/10/14,23,三,Matlab编程,s=0;n=1 while s=1000 s=s+n2;n=n+1;end n-1,s-(n-1)2,2023/10/14,24,例,编写函数M-文件SQT.m:用迭代法求,迭代的终止条件为前后两次求出的x的差的绝对值小于10-5。,的值。求平方根的迭代公式为:,2023/10/14,25,function ff=mysqrt(x)y0=1;y1=0.

13、5*(y0+x/y0);while abs(y1-y0)0.00001y0=y1;y1=0.5*(y0+x/y0);end,2023/10/14,26,最简单的形式:if 关系表达式 statmentsend,if-else-end结构,2023/10/14,27,if语句的另一种形式:if 关系表达式 statments1else statments2end,if-else-end结构,2023/10/14,28,当有三个或更多的选择时:if 关系表达式(1)statments(1)elseif 关系表达式(2)statments(2).elseif 关系表达式(n)statments(n)

14、else statments(n+1)end,例如,可用以下程序得到符号函数。function y=SIGN(x)if x0 y=-1;elseif x=0 y=0;else y=1;end,2023/10/14,29,逻辑运算符:&(与运算),|(或运算),(非运算),关系运算符:,=,=(等于),=(不等于)关系运算比较两个数值,当给出的关系式成立时,结果为1(表示真),否则为0(表示假)。,编程相关的几个运算符,2023/10/14,30,布置实验,1 掌握MATLAB软件的绘图命令,能熟练应用循环和选择结构实现各种循环选择功能。2 通过实例练习,达到能灵活应用MATLAB软件解决一些简

15、单问题。3 借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。,实验目的,2023/10/14,31,实验内容,在同一个坐标下作出 y1=1+x,y2=1+x+x2/2,y3=1+x+x2/2!+x3/3!,y4=ex 这四条曲线的图形,观察、发现、联想、猜想,给出验证及理论证明。,作图:从直观、想象到发现、猜想,2023/10/14,32,2用subplot分别在不同的坐标系下作出四条曲线:1)概率曲线2)四叶玫瑰线=sin2;(polar函数)3)叶形线 4)曳物线,直角坐标方程,极坐标方程,参数方程各领风骚,提示:第四题可以使用fplot或

16、者ezplot完成,画出两条曲线,叠加在一个坐标上即可。,2023/10/14,33,3作出曲面 1)2)环面:的3维图形。,2023/10/14,34,4建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。,编程练习,2023/10/14,35,5.利用下面的几个关系式给出几个数学常量的近似值:e=1+1/1!+1/2!1/3!+欧拉常数11/2+1/3+-lnn 圆周率满足:,第一个要求精确到小数点后20位,第二个要求精确到小数点后4位,第三个精确到小数点后6位.并讨论精确度和迭代次数有什么样的关系.,2023/10/14,36,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号