第5章matlab绘制二维图形及三维图形的方法
- 格式:doc
- 大小:131.00 KB
- 文档页数:4
二维图形和三维图形的创建1.生成1×10维的随机数向量a,在同一幅图片上分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
2.绘制向量x=[1 3 0.5 2.5 2]的饼形图,并把3对应的部分分离出来。
3.用hold on命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25) y2=sin(t+0.5),其中t=[0 10]。
t=0:1/100:10;y=sin(t);plot(t,y,'-r')hold ony1=sin(t+0.25);plot(t,y1,'--b')y2=sin(t+0.5);plot(t,y2,'-y')4.绘制曲线 x=tcos(3t)y=tsin2t 其中-π≤t≤π,步长取π/100。
要求:要图形注解、标题、坐标轴标签, 并在曲线上截取一点,将相对应的坐标值文本标注出来(ginput())。
;5.在三个子图像中,分别绘制三维曲线,三维曲面,三维网格的半径为6,坐标为(6,7,6)的由900个面构成的球面(sphere()),对每个图形标注标题6.(1)绘一个圆柱螺旋线(形似弹簧)图。
圆柱截面直径为10,高度为5,每圈上升高度为1。
如左图所示。
(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。
思考题:如果要绘制出如图所示的图形,请先指出这四个图形分别对应哪副图,以及请正确填写下列空格subplot(6 ,4 ,[2 3 4 6 7 8] );plot(1:10);grid on;subplot( 6 ,4 ,[10 11 14 15] );plot(peaks);grid on;subplot(6 ,4 ,[5 9]);plot(membrane);grid on;subplot(6, 4,[17 18 21 22]);surf(membrane);grid on;。
实验五 MATLAB二维、三维图形的绘制一、实验目的1.掌握二维、三维图形的绘制;2.掌握特殊二维图形的绘制;3.掌握绘图参数的设置;4.了解并学习简单动画的制作。
二、实验内容1.运行下列程序,学会并掌握标题、坐标轴标签和网格线的设置方法x=0:1:10;y=x.^2-10*x+6;plot(x,y);title ('Plot of y=x.^2-10*x+6');xlabel ('x');ylabel ('y');grid on;2.运行下列程序,学会并掌握线型、点型、颜色的设置方法x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,'bo',x,y2,'r:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');grid on;3.同一坐标系内多条曲线的绘制1)使用 plot(x,[y1;y2;…])x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,[y1;y2]);legend('sin x','cos x');2)使用hold命令x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1);hold on;plot(x,y2,‘r’);3)在plot后使用多输入变量x = -2*pi:pi/20:2*pi;y1 = 2*sin(x);y2 = 2*cos(x);plot(x,y1,'ro',x,y2,'b:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');4) 使用plotyy命令x = -pi:pi/20:pi;y1 = sin(x);y2 = 5*cos(x);plotyy(x,y1,x,y2);grid on;gtext(‘sinx’) ; gtext(‘5cosx’) ;4.子图形窗口的绘制subplot(2,1,1);x= -pi:pi/20:pi;y=sin(x);plot(x,y) ; grid on;title('正弦曲线');subplot(2,1,2);x= -pi:pi/20:pi;y=cos(x);plot(x,y); grid on;title('余弦曲线');5.对数坐标图形x=0:0.1:10;y=x.^2 -10.*x +25;subplot(2,2,1);plot(x,y); grid on;xlabel('a) x、y轴线性刻度');subplot(2,2,2);semilogx(x,y); grid on;xlabel('b) x轴对数刻度、y轴线性刻度');subplot(2,2,3);semilogy(x,y); grid on;xlabel('c) x轴线性刻度、y轴对数刻度');subplot(2,2,4);loglog(x,y); grid on;xlabel(‘d) x、y轴对数刻度');6.极坐标下的绘图theta = 0:pi/20:2*pi;r = 0.5+cos(theta);polar(theta,r);7.复数的绘图,并比较下面几种情况的不同1)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(y);grid on ;title('Plot of Complex Function vs Time');xlabel('Real Part');ylabel('Imaginary Part');2)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, y);grid on ;title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');3)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, real(y),'b-');grid on;hold on;plot(t, imag(y),'r-');title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');legend('real','imaginary');hold off;4)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));polar(angle(y),abs(y));title('Plot of Complex Function');8.特殊二维图形的绘制1)x = [1 2 3 4 5 6];y = [2 6 8 7 8 5];stem(x,y);title('Example of a Stem Plot');xlabel('x');ylabel('y');axis([0 7 0 10]);将上述程序中的stem语句换为stairs、bar、barh和compass,即可实现阶梯图、条形图、罗盘图的绘制。
使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。
下面将介绍一些常用的绘制三维图形的方法。
1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。
- scatter3(函数:用于在三维坐标系中绘制散点图。
- surf(函数:用于绘制三维曲面图。
- mesh(函数:用于绘制三维网格图。
- bar3(函数:用于绘制三维条形图。
- contour3(函数:用于绘制三维等高线图。
例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。
MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。
- caxis(函数:用于设置坐标轴范围。
- shading(函数:用于设置颜色插值方法。
- texturemap(函数:用于设置纹理映射方法。
例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。
如何在Matlab中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而Matlab作为一种功能强大的数值计算和数据分析软件,自然也提供了丰富的绘图功能。
本文将介绍如何在Matlab中进行二维和三维绘图,并探讨一些常见的绘图技巧和应用。
一、二维绘图Matlab中的二维绘图是最常见和基础的绘图任务之一。
在绘制二维图形时,我们通常会用到plot函数。
这个函数可以接受单个向量作为输入,将这个向量的值作为y轴上的数据点,自动生成与该向量长度相同的x轴坐标。
例如,我们可以用以下代码绘制一个简单的二维折线图:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```上述代码中,x参量取从0到2π的均匀间隔的值,而y则是根据x计算得到的sin函数值。
plot函数会自动根据输入绘制折线图,并添加相应的轴标签和图例。
在实际应用中,我们经常需要绘制多条曲线在同一个坐标系中进行对比分析。
可以通过在plot函数中传入多个x和y向量实现这一功能。
例如,我们可以通过以下代码绘制一个简单的双曲线图:```x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2);```这样,就会在同一个坐标系中同时绘制sin曲线和cos曲线。
除了折线图,Matlab还支持其他常见的二维绘图类型,如散点图、柱状图和面积图等。
这些绘图类型可以通过不同的函数实现,例如scatter、bar和area等。
这里不再一一赘述,读者可以通过Matlab的帮助文档或官方网站了解更多的用法和示例。
二、三维绘图除了二维绘图,Matlab也提供了丰富的三维绘图功能,用于可视化更为复杂的数据和模型。
在绘制三维图形时,我们通常会用到surf函数。
这个函数可以接受两个二维矩阵作为输入,将这两个矩阵的值分别作为x、y轴上的坐标,而将第三个二维矩阵的值作为z轴上的数据点。
实验报告班级:姓名:学号:实验一名称:绘制二维和三维图形实验内容与实验要求:熟悉Mat lab基本绘图函数、图形处理函数,了解三维曲线和曲面图形的绘制方法。
实验步骤:1、用Matlab基本绘图函数绘制二维图形:根据己知数据,用plot函数画出正弦函数曲线,并进行相应标注。
程序1如下:elf: t=0:pi/50:2*pi; y二sin(t);plot(t, y);axis ([0, 2*pi, T. 2, 1. 2])text(pi/2, 1,' \fontsize{16}\leftarrow\itsin (t) \fontname {隶书}极大值')title ('y二sin(t)') xlabel ('t')ylabel (' y,)运行结果1如下:2、用三维曲线绘图基本指令plot 3绘制三维曲线图:t=0~2pi;x=sin(t) ;y=cos(t); z=cos (2*t);用plot3 函数画出关于x, y, z 的三维曲线图,并适当加标注。
程序2如下:t=(0:0. 02:2)*pi;x=sin(t);y=cos(t);z=cos (2*t);plot3 (x, y, z,' b」,x, y, z, ' ref )box on运行结果2如下:3.三维网线*曲面.曲线图的比较;网线图mesh扩展形式meshz. me she 以及曲面图surf扩展形式surfl、surfc的运用;peaks曲面图和sphere球面图的绘制以及图形的透视功能。
(1)三维网线、曲面、曲线图比较:程序3如下:x二-4:4;y=x; [X, YZ二meshgrid(x, y);Z二X. "2+Y. "2;subplot (1, 3, 1) : surf (X, Y, Z); 〃绘曲而图subplot (1, 3, 2) ;mesh(X, Y, Z); 〃绘网线图〃绘曲线图subplot (1, 3, 3) :plot3 (x, y, x. "2+y. "2), box on运行结果3如下:1)网线图mesh还有儿个扩展形式:包含零平面的三维网线图:meshz 用带等高线的三维网线图:meshc 程序4如下:elf;x二-4:4;y二x;[X, Y]=meshgrid(x, y) Z二X. "2+Y. 2 subplot(121); meshc(X, Y, Z);subplot(122); meshz(X, Y, Z);[X, Y]=meshgrid(x, y) Z=X. "2+Y. "2; subplot(121); surf1(X, Y, Z):带光照阴影的三维曲面图:surfl带等高线的三维曲面图:surfc 程序5如下:elf;x二一4:4;y二x;subplot(122); surfc(X, Y, Z):运行结果5如下:(3)peaks曲面图peaks曲面图是Matlab为了测试立体绘图给岀的一个快捷函数。
实验四 MATLAB 二维、三维图形的绘制一 实验目的1 掌握二维、三维图形的绘制;2 掌握特殊二维图形的绘制;3 掌握绘图参数的设置;4 了解并学习简单动画的制作。
二 实验内容1 在0-2π区间上画sin(x)和cos(x),要求在同一个图像中,其中cos(x)图像用红色小圆圈表示,并在函数图上标注“y=sin(x)”,“y=cos(x)”,坐标轴标签为“x 轴”,“y 轴”,标题为“正弦余弦函数图像”。
2 绘制函数x 2/32+y 2/42=1的边界。
3 绘制三维曲线⎪⎩⎪⎨⎧=+=+=u z y x u u 3)sin 21()cos 21(,]10,0[∈u 。
4 使用极坐标绘制]2,0[,2sin πθθρ∈=。
5 绘制函数]2,2[,)cos()sin(21122121-∈⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛x x x x x x y y 在上的曲线,数据点用菱形表示,再绘制其对应的等高线。
6 在同一坐标内,分别用不同线型和颜色绘制曲线)4c o s (5.012.0x x e y π-=和)cos(5.022x x e y π-=,标记两曲线交叉点,]2,0[π∈x 。
7 在同一张图中用子图的方式分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。
8 连续函数的可视化:用图形表示调制波形y=sin(t)sin(9t),变量范围以及步长、曲线表示方法均有自己设定,结果图与下图相似,表达意思相同即可。
9 绘制三维曲线图:x=sin(t), y=cos(t), z=cos(2t),参考图例如下,学习使用view 和box函数。
10 用曲面画图表示z=x2+y2,参考图例如下。
第5章MATLAB绘图5.1 二维图形图形可视化是MATLAB的一大特色MATLAB的基本绘图函数是plotplot(x,y)形式已知自变量x取一组数值x1、x2、…xn,相应的函数y(x)也取一组数值y(x1)、y(x2)、…y(xn),那么,plot(x,y)就用二维图形表示它们之间的函数关系例1:取步长为0.1,在[0,2π]区间画出正弦曲线x=0:0.1:2*pi; %在[0,2π]区间生成一个1维数组y=sin(x); %建立正弦函数plot (x, y) %画出y-x曲线注意1.绘图是在一定的取值范围内进行2.当自变量和函数都是向量时,它们的维数必须相同,而且必须同为行向量或同为列向量3.plot生成的图形可以保存为.fig文件例2:取步长为0.5,在[0,2π]区间画出正弦曲线x1=0:0.5:2*pi; %在[0,2π]区间生成一个1维数组y1=sin(x1); %建立正弦函数plot (x1, y1) %画出y1-x1曲线注意对区间分割的越细,计算的点就越多,就能真实逼近函数的连续变化,但是计算时间就越长如果自变量的采样点不够多,就可能没有真实反映原函数例3:关闭图形窗口,分别将例1和例2中最后的语句改为figure, plot (x, y) %画出y-x曲线figure, plot (x1, y1) %画出y1-x1曲线注意figure可以.生成独立的图形窗口例4:绘制y=sin(tgx)- tg (sinx)在x∈[-π,π]区间内的曲线先以0.05为步长构造x向量x=[-pi:0.05:pi];y=sin(tan(x))- tan(sin(x));figure ,plot(x,y)在x∈[-1.8, -1.2]和x∈[1.2,1.8]两个子区间内的曲线比较粗糙在这两个子区间增加取样点x=[-pi:0.05:-1.8,-1.801:0.001:-1.2,-1.195:0.05:1.2, 1.201:0.001:1.8,1.81:0.05:pi];y=sin(tan(x))- tan(sin(x));figure ,plot(x,y)例5:绘制饱和非线性特性曲线()⎩⎨⎧≤>=1.1,1.1,1.1x x x x sign y ,取x ∈[-2,2]区间,步长为0.02。
.实验报告(201 /201 学年第学期)课程名称实验名称二维图形与三维图形的绘制实验时间年月日实验室指导教师学生姓名学号班级专业实验报告三、实验内容及原理(包括硬件原理图、算法、逻辑框图,关键代码等,可续页)(一)二维图形的绘制1、绘制二维曲线的基本函数:○1plot函数plot函数的基本调用格式为:plot(x,y);其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例,绘制参数方程曲线。
程序如下:含多个输入参数的plot函数调用格式为:p lot(x1,y1,x2,y2,…,xn,yn);含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n);例,用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5x sin(2πx)及其包络线。
程序如下:○2双纵坐标函数plotyyplotyy函数是MATLAB 5.X新增的函数。
它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。
调用格式为:plotyy(x1,y1,x2,y2);其中x1-y1对应一条直线,x2-y2对应另一条曲线。
横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。
2、绘制二维图形的其他函数在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项);stairs(x,y,选项);stem(x,y,选项);fill(x1,y1,选项1,x2,y2,选项2,…);例,分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。
程序如下:(二)三维图形的绘制1、绘制三维曲线的基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n); 例,绘制空间曲线。
程序如下:2、绘制三维曲面的函数surf函数和mesh函数的调用格式为:surf(x,y,z,e);mesh(x,y,z,e);例,绘制两个直径相等的圆管的相交图形。
第7讲 绘制三维图(第5章MATLAB 绘图)目的:1.掌握绘制三维图形的方法。
2.掌握绘制图形的辅助操作。
一、绘图时点坐标矩阵的生成。
绘图函数使用描点法绘图,所以在绘图前,需要建立空间点的概念,空间中的点需要三个坐标(,,)x y z ,matlab 使用三个矩阵来存储点的三个坐标,一个矩阵(比如A )存储点的x 坐标,一个矩阵(比如B )存储点的y 坐标,一个矩阵(比如C )存储点的z 坐标。
其中A 、B 、C 三矩阵是同型矩阵。
例如设矩阵123112X ⎛⎫⎪= ⎪ ⎪⎝⎭,014221Y −⎛⎫ ⎪= ⎪ ⎪⎝⎭,510113Z ⎛⎫ ⎪= ⎪ ⎪−⎝⎭则,matlab 绘图函数将绘制点()()1,0,5,(2,1,1),(3,4,0),,2,1,3−共6个点。
如果点的坐标没有规律那么我们需要手工输入坐标矩阵。
如果点的坐标有规律,那么我们可以使用矩阵运算或者matlab 产生点的函数来生成坐标矩阵。
例如,假设空间中点的纵横坐标如下图所示:图中点的坐标有规律:横坐标是(1,2,3,4),纵坐标是(1,2,3),所以可以使用如下方法得到点的坐标矩阵。
方法一:>> a=[1,2,3,4];b=[1,2,3];i=ones(1,3);j=ones(1,4);>>x=i’ *a; y=b‘ *j;方法二:使用matlab系统函数meshgrid(推荐使用)>> a=[1,2,3,4]; b=[1,2,3];>>[x,y]=meshgrid(a,b) % 该函数生成的x,y矩阵和方法一相同。
------------------我是华丽分割线-----------------除meshgrid外,还可以用peaks、cylinder函数等生成点坐标矩阵。
peaks(n): 本身是一个创建具有多个峰值的曲面图,例如:>> peaks(30) %产生的图如下:在matlab中可以使用,例如:命令[x,y,z]=peaks(30)取出曲面点的三个坐标矩阵x,y,z;[a,b]=peaks(30)取出曲面点的前两坐标矩阵x,y;%可以用逻辑运算a==x,b==y验证注意:命令a=peaks(30)取出的a不是曲面点的x坐标,而是点的z坐标;可以用二维绘图函数scatter(x,y)绘制散点图观察取出的坐标点:>>[x,y]=peaks(8);>>scatter(x,y)另一个可以用来取坐标点的函数是sphere(n),命令sphere(n):绘制一个具有n个纵列的单位球面。
实验四
专业:电子信息工程2班姓名:李书杰学号:3121003210
一、实验目的
1.掌握绘制二维图形及三维图形的方法。
2.掌握图形控制与修饰处理的方法。
3.了解图像处理及动画制作的基本方法。
二、实验内容
1.绘制下列图形曲线。
(1)y=x-x^3/3! (2)x^2+2Y^2=64
解:程序如下
2.设y=1/(1+e^-t),-pi<=t<=pi,在同一个图形窗口中采用子图的形式绘制条形图、阶梯图、杆图和对数坐标等不同图形,并对不同图形加标注说明。
解:程序如下
3.绘制下列极坐标图。
(1)ρ=5cosθ+4 (2)γ=5sin^2φ/cosφ,-π/3<φ<π/3 解:程序如下
思考练习:
2.绘制下列曲线
(1)y=1/2πe^(-x^2/2) (2)x=tsint y=tcost
解:程序如下
(1)
结果如下:
(2)
结果如下:
3.在同一坐标中绘制下列两条曲线并标注两曲线交叉点。
(1)y=2x-0.5
(2)x=sin(3t)cost
Y=sin(3t)sint
解:程序如下
4.分别用plot和fplot函数绘制y=sin(1/x)的曲线,分析两曲线的差别。
解:程序如下
结果如下:
5.绘制下列极坐标图:
(1)p=12/sqrt(θ) (2)γ=3asinφcosφ/(sin^3φ+cos^3φ)解:程序如下
结果如下:。