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

下载本文档

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

文档简介

数学实验第二次讲稿第1页/共37页数学实验第二讲——绘图及编程2023/4/112第2页/共37页一,绘制平面图1,绘制图形的重要性我们在分析问题的时候,为了对所分析问题有更加清楚的认识,经常绘出函数的草图;而当我们在写报告以说明问题时,为了让别人更加容易理解你说的内容,图文并茂是最好的方法。因此,了解绘图的功能是多么的重要!2023/4/113第3页/共37页一,绘制平面图2,基本的绘图命令

Matlab中提供了绘制平面图的命令:其中x,y是曲线必须通过的一些关键点,后面‘’内的三个属性用来描述曲线的颜色,线性以及在关键点的标志。理解绘图的基本原理。plot(x,y,‘color-linestyle-marker’)2023/4/114第4页/共37页一,绘制平面图3,最基本的例子例子1,我们想画一个y=sinx的图像。x=1:20;y=sin(x);plot(x,y,'r-o');

例子2,我们画一个y=x^2+3x+5的图像。x=-10:0.1:10;y=x.^2+3*x+5;plot(x,y,'b--*');2023/4/115第5页/共37页一,绘制平面图

例子3,我们画一个y=(3x+2)/(x^2+3x+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/4/116第6页/共37页一,绘制平面图4,给图形一个标题我们看到的书中,文章中,每个图形都有一个合适的标题以利于阅读,这时可以使用命令

title(‘图形名’)5,给出图形的标注为了别人更好的阅读,经常在曲线上加上曲线的名字,特别是在一个图上有好几条曲线时,可以采用下面的两种方法之一:2023/4/117第7页/共37页一,绘制平面图

(1)text(x0,y0,’图形名’);

(2)gtext(’图形名’);6,坐标轴控制前面给出的一些例子,我们对它的图形并不满意,原因是在一些点处的值太大。为了更好的反映曲线的形状。Matlab中提供了一个命令:axis.

语法如下:2023/4/118第8页/共37页一,绘制平面图(1)axis([xminxmaxyminymax]);(2)axisequal;(3)axissquare;等。7,在图形上加上网格

gridongridoff2023/4/119第9页/共37页一,绘制平面图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('SineandCosinecurves')gtext('sin(x)');gtext('cos(x)');gridon;2023/4/1110第10页/共37页一,绘制平面图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/4/1111第11页/共37页一,绘制平面图10,极坐标图形例:画出=sin的图形。theta=0:0.01*pi:2*pi;rho=sin(theta);polar(theta,rho,’*’)2023/4/1112第12页/共37页一,绘制平面图11,参数方程的图形例:画出x=2*t,y=t^3-1/(1+t^2)的图形。t=-4:0.01:4;x=2*t;y=t.^3-1./(1+t.^2);plot(x,y,’-*)12,查阅帮助文件了解fplot和ezplot命令的使用方法2023/4/1113第13页/共37页二,绘制空间图形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);

注意:曲线的参数方程比较容易实现。2023/4/1114第14页/共37页二,绘制空间图形2,绘制空间曲面基本命令:

mesh(X,Y,Z);

理解绘图的原理。例子8,作出下面的曲面2023/4/1115第15页/共37页二,绘制空间图形

代码: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。2023/4/1116第16页/共37页二,绘制空间图形例子9,画出z=xy的图形。x=-4:0.1:4;y=x;[X,Y]=meshgrid(x,y);Z=X.*Y;mesh(X,Y,Z);2023/4/1117第17页/共37页二,绘制空间图形3,产生等高线图空间图形看起来有时不是很直观,等高线图是比较常用的一种。等高线图的命令是

contour(X,Y,Z,n);其中,n表示等高线的条数。2023/4/1118第18页/共37页三,Matlab编程1,命令M文件和函数M文件前面我们已经给出很多命令M文件的例子,它实际上是一些命令的组合,在命令窗口直接输入文件名就对每一条命令依次执行。有时,比如我们调用一个三角函数sin(x),和前面的调用有所不同,调用时往往有输入参数;再如,我们想求函数2023/4/1119第19页/共37页三,Matlab编程y=sin(x^2)+x^3-e^x+ln(|x|)在x=1,2,3,4等处的值。这时我们使用函数M文件。格式如下:

functionff=fun(x)ff=sin(x^2)+x^3-exp(x)+log(abs(x));下面是一般格式:

function[输出变量列表]=函数名(输入变量列表)函数体语句;2023/4/1120第20页/共37页经常,我们需要表示多元函数,比如z=f(x,y),也就是自变量为x和y,因变量为z。Matlab总是将自变量看成是一个向量,比如两个自变量是看成一个二维向量。下面是一个这样的例子。定义一个函数f=100(y-x2)2-(1-x)2

functionf=f1(x)f=100*(x(2)-x(1)^2)^2-(1-x(1))^2;调用格式:x=[23];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)-52*x(1)^2-x(2);-x(1)-x(2)];调用格式:x1=[45];[F1,G1]=f2(x1)2023/4/1121第21页/共37页三,Matlab编程2,Matlab的控制语句并不是每个问题都这么简单,比如同样是上面的例子,但是我们想要求在x=1,2,…,100的所有函数值并且存下来以备后用。可以使用循环语句实现。

y=zeros(100,1);fori=1:100y(i)=fun(i);end2023/4/1122第22页/共37页三,Matlab编程For循环的一般形式

forx=x1:step:xn{statments}end

例:求1+2+…+100的值;3+6+9+…+999的值;1×2×…×15的值。除了上面的循环,还有一个循环控制语句,就是while,语法如下:2023/4/1123第23页/共37页三,Matlab编程While循环的一般形式为:

while关系表达

{statments}end

比如下面的一个例子。从1开始的自然数平方和不超过1000,最后一个数是多少,和为多少

关系表达式statmentsEnd的后续语句YesNo2023/4/1124第24页/共37页三,Matlab编程s=0;n=1whiles<=1000s=s+n^2;n=n+1;endn-1,s-(n-1)^22023/4/1125第25页/共37页例,编写函数M-文件SQT.m:用迭代法求

迭代的终止条件为前后两次求出的x的差的绝对值小于10-5。的值。求平方根的迭代公式为:2023/4/1126第26页/共37页functionff=mysqrt(x)y0=1;y1=0.5*(y0+x/y0);whileabs(y1-y0)>0.00001y0=y1;y1=0.5*(y0+x/y0);end2023/4/1127第27页/共37页最简单的形式:if关系表达式

{statments}endif-else-end结构

关系表达式statmentsEnd的后续语句YesNo2023/4/1128第28页/共37页if语句的另一种形式:if关系表达式

{statments1}else{statments2}endif-else-end结构

关系表达式statmentsEnd的后续语句YesNo2023/4/1129第29页/共37页当有三个或更多的选择时:if关系表达式(1){statments}(1)elseif关系表达式(2){statments}(2)...elseif关系表达式(n){statments}(n)else{statments}(n+1)end例如,可用以下程序得到符号函数。functiony=SIGN(x)ifx<0y=-1;elseifx==0y=0;elsey=1;end2023/4/1130第30页/共37页逻辑运算符:&(与运算),|(或运算),~(非运算)关系运算符:

<,>,<=,>=,==(等于),~=(不等于)关系运算比较两个数值,当给出的关系式成立时,结果为1(表示真),否则为0(表示假)。编程相关的几个运算符2023/4/1131第31页/共37页布置实验[1]掌握MATLAB软件的绘图命令,能熟练应用循环和选择结构实现各种循环选择功能。[2]通过实例练习,达到能灵活应用MATLAB软件解决一些简单问题。[3]借助MATLAB软件的绘图功能

温馨提示

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

评论

0/150

提交评论