当前位置:首页 >> 数学 >>

实验1


实验 1

曲线绘图

实验目的
? 学习 Matlab 绘图命令; ? 进一步理解函数概念。

1.曲线图 Matlab作图是通过描点、连线来实现的,故在 画一个曲线图形之前,必须先取得该图形上的一 系列的点的坐标(即横坐标和纵坐标),然后将 该点集的坐标传给Matlab函数画图.
命令为: PLOT(X,Y,’S’)
线型

X,Y是向量,分别表示点集的横坐标和纵坐标

PLOT(X,Y)--画实线 PLOT(X,Y1,’S1’,X,Y2,’S2’,……,X,Yn,’Sn’) --将多条线画在一起

例1 在[0,2*pi]用红线画sin(x),用绿圈画 cos(x). 解:x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,'r',x,z,’g o')

表1 基本线型和颜色
符号 y m c r g 颜色 黄色 紫红 青色 红色 绿色 符号 . 0 x + * 线型 点 圆圈 x标记 加号 星号

b
w k

兰色
白色 黑色

: -. --

实线
点线 点划线 虚线

2.符号函数(显函数、隐函数和参数方程)画图

(1) ezplot
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的函数图 ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图

例2 在[0,pi]上画y=cos(x)的图形 解 输入命令

ezplot('cos(x)',[0,pi])
例 3 在[0,2*pi]上画 x ? cos3 t , y ? sin 3 t 星形图

解 输入命令

ezplot('cos(t)^3','sin(t)^3',[0,2*pi])
例 4 在[-2,0.5],[0,2]上画隐函数 e x ? sin(xy) ? 0 的图

解 输入命令

ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])

(2) fplot
fplot(‘fun’,lims)

表示绘制字符串fun指定的函数在 lims=[xmin,xmax]的图形.
注意: [1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形。

例5 在[-1, 2]上画图形,函数为

y ? e ? sin(3x )
2x 2

解 先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2)

再输入命令: fplot(‘myfun1’,[-1,2])
例6 在[-2,2]范围内绘制函数tanh的图形 解 fplot(‘tanh’,[-2,2])

例7 x、y 的取值范围都在[-6, 6],画函数tanh(x), sin(x), cos(x)的图形
解 输入命令: fplot(‘[tanh(x),sin(x),cos(x)]’,[-6 6 -6 6])

处理图形
1、在图形上加格栅、图例和标注 (1)grid on: 加格栅在当前图上 grid off: 删除格栅
(2) xlabel(string): 在当前图形的x轴上加标 记string
ylabel(string): 在当前图形的y轴上加标记string zlabel(string): 在当前图形的z轴上加标记string title(string): 在当前图形的顶端上加标记string

例8 在区间[0,2*pi]画sin(x)的图形,并加注标记 “自变量X”、“函数Y”、“示意图”, 并加格栅.
解 x=linspace(0,2*pi,60); y=sin(x); plot(x,y) xlabel('X') ylabel('函数Y') title('示意图') grid on

(3)gtext(‘string’) 命令gtext(‘string’)用鼠标放置标注 在现有的图上. -----运行命令gtext(‘string’)时, 屏幕上出现当前图形,在图形上出现一个交叉 的十字,该十字随鼠标的移动移动,当按下鼠 标左键时,该标注string放在当前十交叉的 位置.

例9 在区间[0,2*pi]画sin(x)和cos(x), 并分别标注“sin(x)”,”cos(x)”.
解 x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,x,z) gtext('sin(x)');gtext('cos(x)')

2、定制坐标 Axis([xmin xmax ymin ymax zmin zmax])

x、y、z的最大、最小值
定制图形坐标 Axis auto 将坐标轴返回到自动缺省值

表3 axis命令
axis([x1,x2,y1,y2])
axis square axis equal axis normal axis off axis on

设置坐标轴范围
当前图形设置为方形 坐标轴的长度单位设成相等 关闭axis equal和axis square 关闭轴标记、格栅和单位标志 显示轴标记、格栅和单位标志

例10 在区间[0.005,0.01]显示sin(1/x)的图形。 解 x=linspace(0.0001,0.01,1000); y=sin(1./x); plot(x,y) axis([0.005 0.01 -1 1])

3、图形保持 (1) hold on ------保持当前图形, 以便继续画图到当前图上
hold of -----释放当前图形窗口

例11 将y=sin(x)、y=cos(x)分别用点和线画出 在同一屏幕上。 解 x=[0:0.01:2*pi] z=cos(x); y=sin(x); plot(x,z,':') hold on plot(x,y)

(2) figure(h)
新建h窗口,激活图形使其可见,并把 它置于其它图形之上

例12 区间[0,2*pi]新建两个窗口分别画 出y=sin(x);z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); title('sin(x)'); figure(2); plot(x,z); title('cos(x)');

4、分割窗口
subplot(mrows, ncols, thisplot)
------划分整个作图区域为mrows*ncols块(逐行

对块访问)并激活第thisplot块,其后的作图语 句将图形画在该块上。 subplot(1,1,1) -----命令Subplot(1,1,1)返回非分割状态。

例13 将屏幕分割为四块,并分别画出 y=sin(x),z=cos(x),a=sin(x)*cos(x), b=sin(x)/cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x); b=sin(x)./(cos(x)+eps) subplot(3,3,1);plot(x,y),title('sin(x)') subplot(3,3,2);plot(x,z),title('cos(x)') subplot(2,2,3);plot(x,a),title('sin(x)cos(x)') subplot(3,3,4);plot(x,b),title('sin(x)/cos(x)')

5、缩放图形 zoom on 为当前图形打开缩放模式 单击鼠标左键,则在当前图形窗口中,以鼠 标点中的点为中心的图形放大2倍;单击鼠标 右键,则缩小2倍 zoom off 关闭缩放模式

例14 缩放y=sin(x)的图形 解 x=linspace(0,2*pi,30); y=sin(x); plot(x,y) zoom on

表2 二维绘图工具
grid gtext hold 放置格栅 用鼠标放置文本 保持当前图形

text
title xlabel ylabel zoom

在给定位置放置文本
放置图标题 放置x轴标题 放置y轴标题 缩放图形

2 绘制函数图形练习
练习1. 画出y=sinx的图形 -------采用中学五点作图法,选取五点(0,0)、 (π/2,1)、(π,0)、(3π/2,-1)、(2π,0). 输入命令:

x=[0,pi/2,pi,3*pi/2,2*pi];y=sin(x);plot(x,y)

可以想象,随点数增加,图形越来越接近y=sinx 的图象. ------在0到2π之间取30个数据点,绘出的图形 与y=sinx的图象已经非常接近了. x=linspace(0,2*pi,30);y=sin(x);plot(x,y) 或 x=0:0.1:2*pi;y=sin(x);plot(x,y) 还可以给图形加标记、格栅线

x=0:0.1:2*pi;y=sin(x);
plot(x,y,'r-')

title(‘反正切曲线')
xlabel('自变量 x') ylabel('函数y=sinx') text(5.5,0,'y=sinx') grid
加网线

给图加标题
给y轴加标题 “函数y=sinx” 在点(5.5,0)处放置 文本“y=sinx”

练习2. 在[-4,4]范围内画出y=2^x和y=(1/2)^x 的图象.

解: 输入命令:
x=-4:0.1:4;y1=2.^x;y2=(1/2).^x; plot(x,y1,x,y2); axis([-4,4,0,8])

练习3. 在横坐标[-20,20],纵坐标[-?/2, ?/2] 内画出y=atanx的图象.

解: 输入命令:
x=-20:0.1:20;y=atan(x); plot(x,y,[-20,20],[pi/2,pi/2])

grid
y=atanx是有界函数,y=±π/2是其水平 渐近线.

练习4. 在同一坐标系中画出y=sinx,y=x, y=tanx的图象(横坐标范围为[-?/2, ?/2] ).
解: 输入命令:
x=-pi/2:0.1:pi/2;y1=sin(x);y2=tan(x);

plot(x,x,x,y1,x,y2)
axis equal axis([-pi/2 pi/2 -3 3]) grid

当x>0时,sinx<x<tanx, 当x<0时,sinx>x>tanx, y=x是y=sinx和y=tanx在 原点的切线。 因此,当|x|很小时, sinx≈x,tanx≈x.

练习5. 在 x的[-1,2]范围内画出y=10^x-1;在x 的[-0.99,2]范围内画出y=lg(x+1)的图形. 解: 输入命令:
x1=-1:0.1:2;y1=10.^x1-1;
x2=-0.99:0.1:2;y2=log10(x2+1); plot(x1,y1,x2,y2)

y=10^x-1与y=lg(x+1)互为反函数,图象关于y=x对称 . 这两条曲线与我们所知的图象相差很远,这是因为坐标 轴长度单位不一样的缘故。

hold on

x=-1:0.01:2;y=x; plot(x,y,'r')
axis([-1,2,-1,2]) axis square;hold off

特殊的二维图形函数

1、极坐标图:polar (theta, rho, s) 用角度theta(弧度表示)和极半径rho作极 坐标图,用s指定线型。 例14 r ? sin 2? ? cos2?的极坐标图形。 解:theta=linspace(0,2*pi), rho=sin(2*theta).*cos(2*theta); polar(theta,rho,’g’) title(‘Polar plot of sin(2*theta).*cos(2*theta)’);

例15. 画出心形线r=3(1+cosa)的图象.
解: 输入命令: x=0:0.1:2*pi;r=3*(1+cos(x));polar(x,r)

例16.画出星形线x=3(cost)^3,y=3(sint)^3的图象.
解: 这是参数方程,可化为极坐标方程. r=3/((cosa)^(2/3)+(sina)^(2/3))^(3/2) 输入命令: x=0:0.01:2*pi; r=3./(((cos(x)).^2).^(1/3)+((sin(x)).^2).^(1/3)).^(3/2);

polar(x,r)

2、 散点图: scatter(X,Y, S, C) -----在向量X和Y的指定位置显示彩色圈.X和Y 必须大小相同.
例17 绘制seamount散点图 解 输入命令: load seamount scatter(x,y,5,z)

三维图形

1、空间曲线 2、空间曲面







线

1、 一条曲线 PLOT3(x,y,z,s) 3维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值

指定颜色、 线形等

例18 解

在区间[0,10*pi]画出参数曲线 x=sin(t),y=cos(t),z=t.

t=0:pi/50:10*pi; plot3(sin(t),cos(t),t,’r’)

例19 .

作出方程 x?e
?0.2 t

cos

?
2

t, y ? e

?0.2 t

sin

?
2

t, z ? t,

在t?[0,20]范围内的空间曲线

clear;close;

%清理内存,关闭所有窗口

t=0:0.01:20;
x=exp(-0.2*t).*cos(0.5*pi*t); y=exp(-0.2*t).*sin(0.5*pi*t); z=t;plot3(x,y,z) title(‘Space line’);
%标题命令

text(x(1),y(1),z(1),’Start’) legend(‘Cone line’)
grid on;

%在x(1),y(1),z(1)加字符串

n=length(x);text(x(n),y(n),z(n),’End’);
%图例说明

2、多条曲线 PLOT3(x,y,z) 其中x,y,z是都是m*n矩阵,其对应的每一列 表示一条曲线. 例20 画多条曲线观察函数Z=(X+Y).^2 解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; (这里meshgrid(x,y) plot3(X,Y,Z) 的作用是产生一个以向量x
为行、向量y为列的矩阵)

空 (1)







surf(x,y,z)

数据矩阵。分别表示数据 点的横坐标、纵坐标、函 数值 画出数据点(x,y,z)表示的曲面

例21 画函数Z=(X+Y).^2的图形. 解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; surf(X,Y,Z) shading flat %将当前图形变得平滑

( 2)

mesh(x,y,z) 数据矩阵。分别表示数据点 的横坐标、纵坐标、函数值

画网格曲面 例22 画出曲面Z=(X+Y).^2的网格曲面图. 解 x=-3:0.1:3; y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; mesh(X,Y,Z)

(3) meshz(X,Y,Z) 在网格周围画一个 curtain图(如,参考平面) 例23 绘peaks的网格图

解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=peaks(X,Y); meshz(X,Y,Z)

其他命令
meshc(x,y,z) %具有基本等高线的网格图 surfc(x,y,z) %具有基本等高线的表面图 投影图

surface(x,y,z) %得到表面涂在xoy面的

例24

用不同的图形函数画旋转抛物面

z?x ?y ;
2 2

x=-5:0.5:5; y=x; [x,y]=meshgrid(x,y); z=x.^2+y.^2; subplot(2,2,1);mesh(x,y,z)

subplot(2,2,2);meshc(x,y,z)
subplot(2,2,3);surf(x,y,z) subplot(2,2,4);surfc(x,y,z)

例25

绘制球体
[x,y,z]=sphere(30); mesh(x,y,z,) axis(‘equal’)

练习:
1. 画出 y ? arcsin x 的图像; 2. 画出 y ? sec x 在 [0, ? ] 之间的图像; 3. 在同一坐标系中画出y ? 的图像; 4. 画出 f ( x ) ? (1 ? x )2 / 3 ? (1 ? x )2 / 3 的图像,并根据图像特 点 指出函数 f ( x ) 的奇偶性; 5. 画出 y ? 1 ? ln( x ? 2) 及其反函数的图像; 6. 画出 y ? 3 x 2 ? 1 及其反函数的图像; 7. 画出半立方抛物线x ? t 2 , y ? t 3 与空间螺线 x ? a cos t , y ? b sin t , z ? ct; 8. 画出阿基米德线r ? a? , r ? 0,与对数螺线r ? e a?。 x,y ? x 2,y ? 3 x,y ? x 3,y ? x


赞助商链接
相关文章:
实验1
实验1_工学_高等教育_教育专区。C语言程序设计实验 C 实验总的目的和要求 1. 上机实验的目的 (1) 熟悉 C 语言程序开发的环境。 (2) 加深对授课内容的理解,...
实验1
实验1_教学案例/设计_教学研究_教育专区。实 验 报 告 课程名称 实验项目名称 实验类型 班级 姓名 实验室名称 预习部分 实验成绩 20120815 邱岳 信号处理实验 基...
实验1
实验1_计算机软件及应用_IT/计算机_专业资料。这是我们学校的数据库实验报告,改名字可以直接提交。1.1. 实验内容利用图形用户界面创建,备份,删除和还原数据库和...
实验1
实验1_教学案例/设计_教学研究_教育专区。实验一 [实验目的] 1. 熟悉 MATLAB 的工作环境。 2. 熟悉 MATLAB 的帮助系统。 3. 掌握基本的运算表达。 4. 掌握...
实验1
实验1_计算机软件及应用_IT/计算机_专业资料。实验一 1.1 实验目的 常量、变量、数组、函数和表达式 1. 熟悉 Visual FoxPro 的窗口界面与系统菜单。 2.学会 ...
Matlab实验1 答案
Matlab实验1 答案_数学_自然科学_专业资料。Matlab 曲线绘图练习 1. 绘出立方...6 4 2 0 -2 -4 -6 -8 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2....
实验1
实验1_电脑基础知识_IT/计算机_专业资料。计算机操作系统1.1.4 实验内容与步骤为了帮助用户管理和监视系统,windows 2000 提供了多种系统管理工具,其中最主要 的有...
实验1 以太网
实验1 以太网_互联网_IT/计算机_专业资料。上海应用技术学院实验报告课程名称 姓名 协议分析与测试 朱致成 指导教师 专业班级 王笑妍 日期 实验项目 学号 以太网...
实验1
实验1:IEEE802 标准和以太网 实验目的 1. 2. 3. 4. 5. 6. 掌握以太网的报文格式 掌握 MAC 地址的作用 掌握 MAC 广播地址的作用 掌握 LLC 帧报文格式 ...
实验1参考答案
实验1参考答案_理化生_高中教育_教育专区。实验 1:循环结构程序设计 实验目的: 1.熟悉 VC++6.0 的运行环境,掌握 C 程序的执行方法; 2.掌握三种基本数据类型、...
更多相关标签: