matlab绘制简易二维图
- 格式:docx
- 大小:66.96 KB
- 文档页数:8
实验五 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,即可实现阶梯图、条形图、罗盘图的绘制。
实验四
专业:电子信息工程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φ)解:程序如下
结果如下:。
实验三:二维图形和三维图形的创建一、实验目的1.掌握二维图形的绘制。
2.掌握图形的标注3.了解三维曲线和曲面图形的绘制。
二、实验内容1.生成1×10维的随机数向量a,在同一幅图片上分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。
a=rand(1,10);figure(1);subplot(221);plot(a,'r');title('连线图');subplot(222);stem(a,'y');title('脉冲图');subplot(223);stairs(a,'b');title('阶梯图');subplot(224);bar(a,'g');title('条形图');2.绘制向量x=[1 3 0.5 2.5 2]的饼形图,并把3对应的部分分离出来。
x=[1 3 0.5 2.5 2];pie(x,[0 3 0 0 0]);3.用hold on命令在同一个窗口绘制曲线y=sin(t),y1=sin(t+0.25)y2=sin(t+0.5),其中t=[0 10]。
t=0:pi/100:10y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y);hold on;plot(t,y1);hold on;plot(t,y2);hold on;4.绘制曲线 x=tcos(3t)y=tsin2t 其中-π≤t≤π,步长取π/100。
要求:要图形注解、标题、坐标轴标签, 并在曲线上截取一点,将相对应的坐标值文本标注出来(ginput())。
;t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*(sin(t.^2));plot(t,x,'g-',t,y,'r-');title('曲线');xlabel(t,'Fontsize',12);ylabel('幅值','Fontsize',12);[x y]=ginput(1)5.在三个子图像中,分别绘制三维曲线,三维曲面,三维网格的半径为6,坐标为(6,7,6)的由900个面构成的球面(sphere()),对每个图形标注标题6.(1)绘一个圆柱螺旋线(形似弹簧)图。
matlab二维图形的绘制(2006-11-20 20:38:35)转载▼分类:matlab基础(电子方向)常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
如何在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轴上的数据点。
第2章 MATLAB二维绘图22.1 二维绘图基本流程22.2 二维图形的基本绘图命令42.2.1 高级绘图命令42.2.2低级绘图命令62.2 二维图形的修饰82.2.1 坐标轴的调整82.2.1.1 调整坐标轴的围82.2.1.2 调整坐标轴的状态92.2.1.3 保存坐标轴的围112.2.1.4 保存坐标轴的状态112.2.2画出或取消网格线122.2.3设置坐标轴的名称122.2.4设置图形标题132.2.5在图形中显示文字142.2.5.1用坐标轴确定文字位置142.2.5.2用鼠标确定位置显示文字152.2.6 图形的标定和颜色条162.2.7 使用绘图工具栏标注图形182.3 填充图形的绘制192.4 多坐标系绘图与图形窗口的分割202.4.1 图形叠印法202.4.2 子图的绘制212.5 特殊坐标图形的绘制222.5.1 绘制极坐标图形232.5.2对数/半对数坐标系绘图232.6 特殊二维图形的绘制242.4.3 直方图242.4.1 柱状图和面积图262.4.2 饼图282.4.4 离散数据绘图282.4.5 等高线图302.4.6 向量图312.7 函数绘图342.7.1 fplot函数342.7.2函数function的定义352.8 工作空间直接绘图362.9 手工绘图方式382.10 小结41第2章 MATLAB二维绘图数据可视化是MATLAB一项重要功能,它所提供的丰富绘图功能,使得从繁琐的绘图细节中脱离出来,而能够专心于最关心的本质。
通过数据可视化的方法,工程科研人员可以对自己的样本数据的分布、趋势特性有一个直观的了解。
本章将重点介绍MATLAB二维图形的绘制方式,并按照完整的步骤来说明一个图形产生的流程,以便将数据以图形形式来识别。
通过本章,读者不仅能掌握二维绘图的基本流程,而且能熟练使用MATLAB中相应的绘图命令、函数来绘制二维图形。
2.1 二维绘图基本流程在MATLAB中绘制图形,通常采用以下7个步骤:(1)准备数据;(2)设置当前绘图区;(3)绘制图形;(4)设置图形中曲线和标记点格式;(5)设置坐标轴和网格线属性;(6)标注图形;(7)保存和导出图形。
plot2在matlab中的用法MATLAB是一种功能强大的数值计算与科学可视化软件,常用于工程、科学和数学领域的开发和研究。
其中的plot2函数是用于绘制二维图形的工具之一,并提供了许多灵活的用法。
一、plot2函数的基本语法在MATLAB中,plot2函数的基本语法如下:plot2(x,y)其中,x和y是行向量,表示需要绘制的数据点的x坐标和y坐标。
二、绘制简单的二维折线图首先,我们来看一个简单的例子,使用plot2函数绘制一个二维折线图:matlabx = 1:10;y = x.^2;plot2(x,y)在以上代码中,我们定义了x从1到10的行向量,y为x的平方。
然后,通过plot2函数绘制了这些数据点,得到了一个折线图。
三、绘制多个数据集的折线图plot2函数还可以用于同时绘制多个数据集的折线图。
我们可以通过为每个数据集传入不同的x和y来实现这一点,如下所示:matlabx1 = 1:10;y1 = x1.^2;x2 = 1:10;y2 = x2.^3;x3 = 1:10;y3 = x3.^4;plot2(x1,y1,x2,y2,x3,y3)在以上代码中,我们定义了三组数据集,分别为x1和y1、x2和y2、x3和y3。
然后,通过将这些数据集传入plot2函数中,就可以同时绘制这些数据集的折线图。
四、自定义折线图的样式plot2函数还具有很多可调整的参数,使我们能够自定义折线图的样式。
下面是一些常用的参数和示例用法:1. 颜色:可以通过'-'或''来设置折线的样式,如下所示:matlabplot2(x,y,'r-')在以上代码中,我们使用红色的实线来表示折线。
matlabplot2(x,y,'b')在以上代码中,我们使用蓝色的虚线来表示折线。
2. 线宽:可以通过'LineWidth'参数来设置折线的线宽,如下所示:matlabplot2(x,y,'b-','LineWidth',2)在以上代码中,我们设置折线的线宽为2个单位。
实验四 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,参考图例如下。
008. 二维绘图(极坐标、隐函数等)一.极坐标图形调用格式为:polar(t, r, ‘选项’)其中,t为极角,r为极径,选项的使用和plot()类似。
例1 画半径为1的圆t = 0:0.01:2*pi;a = 1;r5 = ones(size(t));polar(t,r5,'r');运行结果:例2阿基米德螺线r = att = 0:0.01:2*pi;a = 2;r1 = a.*t;polar(t, r1, 'r');运行结果:例3心形线r = a(1+cos t)t = 0:0.01:2*pi;a = 2;r2 = a.*(1+cos(t)); polar(t, r2, 'r');运行结果:例4对数螺线r = e att1 = -4*pi:pi/50:4*pi; a1 = 0.2;r3 = exp(a1.*t1);polar(t1,r3);plot(x,y); 运行结果:t = 0:pi/100:2*pi;r6 = sqrt(2).* sin(t);r7 = sqrt(abs(cos(2.* t))); polar(t,r6,'r');hold onpolar(t,r7,'g');hold off运行结果:二、其他形式的坐标图在线性直角坐标中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别为:bar(x, y, ‘选项’)——条形图stairs(x, y, ‘选项’)——阶梯图stem(x, y, ‘选项’)——杆图用法与polar()函数类似。
fill(x1, y1, ‘选项1’, x2, y2, ‘选项2’, …)——序依次用直线段连接x, y对应元素定义的数据点。
例6条形图、填充图、阶梯图和杆图示例x=0:0.35:7;y=2*exp(-0.5*x);subplot(2,2,1);bar(x,y,'g');title('bar(x,y,''g'')');axis([0, 7, 0 ,2]);subplot(2,2,2);fill(x,y,'r');title('fill(x,y,''r'')');axis([0, 7, 0 ,2]);subplot(2,2,3);stairs(x,y,'b');title('stairs(x,y,''b'')');axis([0, 7, 0 ,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0, 7, 0 ,2]);运行结果:三、对数坐标图对数坐标系其实就是对正常坐标系的一个变换比如正常坐标系中的自变量和变量为x和y,而对数坐标系中的自变量和变量为x’和y’那么有x’=logx, y’=logy在实际应用中,经常用到对数坐标图,用对数坐标系有什么好处呢?例如,应用对数坐标系,能够较好反映股票的实际盈亏幅度:假定某一股票连续上涨,从6元涨到12元,每天涨1元,在普通坐标系中画出的就是6条一样长的阳线。
Matlab⼊门教程-⼆维绘图[z] MATLAB不但擅长於矩阵相关的数值运算,也适合⽤在各种科学⽬视表⽰(Scientific visualization)。
本节将介绍MATLAB基本xy平⾯及xyz空间的各项绘图命令,包含⼀维曲线及⼆维曲⾯的绘制、列印及存档。
plot是绘制⼀维曲线的基本函数,但在使⽤此函数之前,我们需先定义曲线上每⼀点的x及y座标。
下例可画出⼀条正弦曲线:close all; x=linspace(0, 2*pi, 100); % 100个点的x座标y=sin(x); % 对应的y座标plot(x,y);====================================================⼩整理:MATLAB基本绘图函数plot: x轴和y轴均为线性刻度(Linear scale)loglog: x轴和y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度====================================================若要画出多条曲线,只需将座标对依次放⼊plot函数即可:plot(x, sin(x), x, cos(x));若要改变颜⾊,在座标对后⾯加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜⾊及图线型态(Line style),也是在座标对后⾯加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');====================================================⼩整理:plot绘图函数的叁数字元颜⾊字元图线型态y 黄⾊ . 点k ⿊⾊ o 圆w ⽩⾊ x xb 蓝⾊ + +g 绿⾊ * *r 红⾊ - 实线c 亮青⾊ : 点线m 锰紫⾊ -. 点虚线-- 虚线====================================================图形完成后,我们可⽤axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, -1.2, 1.2]);此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显⽰格线我们可⽤subplot来同时画出数个⼩图形於同⼀个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种⼆维绘图函数,以适合不同的应⽤,详见下表。
MATLAB 的二维绘图基础了解了MATLAB 的矩阵和向量概念与输入方法之后,MATLAB 的二维绘图再简单也不过了。
假设有两个同长度的向量 x 和y, 则用plot(x,y) 就可以自动绘制画出二维图来。
如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。
〖例〗正弦曲线绘制:>> t=0:.1:2*pi;%生成横坐标向量,使其为0,0.1,0.2,...,6.2y=sin(t); % 计算正弦向量plot(t,y) %绘制图形这样立即可以得出如图所示的二维图[4.1(a)]plot() 函数还可以同时绘制出多条曲线,其调用格式和前面不完全一致,但也好理解。
>> y1=cos(t); plot(t,y,t,y1); %或plot(t,[y; y1]), 即输出为两个行向量组成的矩阵。
图形见 4.1(b)。
plot() 函数最完整的调用格式为:>> plot(x1,y1,选项1, x2,y2, 选项2, x3,y3, 选项3, ...)其中所有的选项如表 4.1 所示。
一些选项可以连用,如'-r' 表示红色实线。
由MATLAB 绘制的二维图形可以由下面的一些命令简单地修饰。
如>> xlabel('字符串') % 给横坐标轴加说明>> ylabel('字符串') % 给纵坐标轴加说明,%并自动旋转90度>> title('字符串') % 给整个图形加图题得出的图形如右图所示。
axis() 函数可以手动地设置x,y 坐标轴范围还可以使用plotyy() 函数绘制具有两个纵坐标刻度的图形。
坐标系的分割在MATLAB 图形绘制中是很有特色的,比较规则的分割方式是用subplot() 函数定义的,其标准调用格式为subplot(n,m,k)其中,n 和m 为将图形窗口分成的行数和列数,而k 为相对的编号。
.实验报告(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);例,绘制两个直径相等的圆管的相交图形。
图1图2图3三幅图的matlab绘图指令图1的matlab绘图指令C=[0,0];B=[600/2,-600*sqrt(3)/2];plot([C(1),B(1)],[C(2),B(2)],'k-'),hold onaxis equalD=[B(1)-B(2),0];plot([D(1),B(1)],[D(2),B(2)],'k-'),hold onplot([C(1)-50,D(1)+50],[C(2),D(2)],'k-','LineWidth',2),hold onn=20;yinying=zeros(2,n+1);yinying(1,1:n+1)=(C(1)-50):((D(1)+50)-(C(1)-50))/n:(D(1)+50);yinying(2,1:n+1)=zeros(1,n+1);yinying(3,1:n+1)=yinying(1,1:n+1)+20*ones(1,n+1);yinying(4,1:n+1)=yinying(2,1:n+1)+20*ones(1,n+1);for ii=1:n+1plot([yinying(1,ii),yinying(3,ii)],[yinying(2,ii),yinying(4,ii)],'k-'),hold on endplot(C(1),C(2),'k-', 'Marker','.','MarkerSize',15)plot(B(1),B(2),'k.', 'Marker','.','MarkerSize',15)plot(D(1),D(2),'k.', 'Marker','.','MarkerSize',15)text(C(1)-30,C(2)-20,'C');text(B(1)+20,B(2),'B');text(D(1)+10,D(2)-20,'D');text(B(1)+20,B(2)-200,'P','FontWeight','Bold');text(C(1)-100,C(2)-100,'L_{BC}=600mm');text(B(1)-100,B(2)+200,'\alpha=30^{。
}');text(B(1)+50,B(2)+180,'\beta=45^{。
}');plot([B(1),B(1)],[B(2),B(2)+200],'k-.'),hold onplot([B(1),B(1)],[B(2),B(2)-200],'k-','LineWidth',1.5),hold onarrow_P=[B(1),B(1)+8,B(1)-11;B(2)-200,B(2)-200+30,B(2)-200+30];fill(arrow_P(1,:),arrow_P(2,:),'k')axis([-200,1000,-800,100])theta=90:(120-90)/30:120;theta=theta*pi/180;r=100;x0=B(1);y0=B(2);x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-'),hold ontheta=45:(120-90)/45:90;theta=theta*pi/180;r=150;x0=B(1);y0=B(2);x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-'),hold onbox off图2的matlab绘图指令为% cantilever_beam 绘图clear allA=[0,-10];B=[0,10];C=[50,-10];D=[50,10];plot([A(1),C(1)],[A(2),C(2)],'k-','LineWidth',1.5),hold onplot([B(1),D(1)],[B(2),D(2)],'k-','LineWidth',1.5),hold onplot([D(1),C(1)],[D(2),C(2)],'k-','LineWidth',1.5),hold onplot([A(1),B(1)],[A(2)-10,B(2)+10],'k-','LineWidth',1.5),hold on axis equalE=[0,0];F=[100,0];plot([E(1),F(1)],[E(2),F(2)],'k-.'),hold onG=[50,-5];H=[50,5];K=[100,-5];L=[100,5];plot([G(1),K(1)],[G(2),K(2)],'k-','LineWidth',1.5),hold onplot([H(1),L(1)],[H(2),L(2)],'k-','LineWidth',1.5),hold onplot([K(1),L(1)],[K(2),L(2)],'k-','LineWidth',1.5),hold onplot([C(1),C(1)],[C(2),C(2)-10],'k-','LineWidth',1),hold onplot([K(1),K(1)],[K(2),K(2)-15],'k-','LineWidth',1),hold onplot([0,22],[-15,-15],'k-','LineWidth',1),hold onplot([28,72],[-15,-15],'k-','LineWidth',1),hold onplot([78,100],[-15,-15],'k-','LineWidth',1),hold onarrow_P=[0+4,0,0+4;-15-1,-15,-15+1];fill(arrow_P(1,:),arrow_P(2,:),'k')arrow_P=[50-4,50,50-4;-15-1,-15,-15+1];fill(arrow_P(1,:),arrow_P(2,:),'k')arrow_P=[50+4,50,50+4;-15-1,-15,-15+1];fill(arrow_P(1,:),arrow_P(2,:),'k')arrow_P=[100-4,100,100-4;-15-1,-15,-15+1];fill(arrow_P(1,:),arrow_P(2,:),'k')plot([F(1),F(1)+15],[F(2),F(2)],'k-','LineWidth',1),hold onarrow_P=[F(1)+11,F(1)+15,F(1)+11;F(2)-1,F(2),F(2)+1];fill(arrow_P(1,:),arrow_P(2,:),'k')n=30;yinying=zeros(4,n+1);yinying(1,1:n+1)=zeros(1,n+1);yinying(2,1:n+1)=(A(2)-10):(((B(2)+10))-(A(2)-10))/n:(B(2)+10);yinying(3,1:n+1)=yinying(1,1:n+1)-3*ones(1,n+1);yinying(4,1:n+1)=yinying(2,1:n+1)+3*ones(1,n+1);for ii=1:n+1plot([yinying(1,ii),yinying(3,ii)],[yinying(2,ii),yinying(4,ii)],'k-'),hold on endplot(E(1),E(2),'k-', 'Marker','.','MarkerSize',15)plot(F(1),F(2),'k.', 'Marker','.','MarkerSize',15)plot(50,0,'k.', 'Marker','.','MarkerSize',15)text(25,13,'I_{1}','fontname','华文仿宋','FontAngle','italic');text(75,8,'I_{2}','fontname','华文仿宋','FontAngle','italic');text(101,18,'P','FontWeight','Bold');text(116,0,'x');text(0,33,'y');text(E(1)+1,E(2)-2.5,'1');text(50+1,0-2.5,'2');text(F(1)+1,F(2)-2.5,'3');z=text(24,-15,'$$\frac{L}{2}$$');set(z,'Interpreter','latex');z=text(74,-15,'$$\frac{L}{2}$$');set(z,'Interpreter','latex');plot([B(1),B(1)],[B(2)+10,B(2)+20],'k-','LineWidth',1),hold onarrow_P=[B(1)-1,B(1),B(1)+1;B(2)+16,B(2)+20,B(2)+16];fill(arrow_P(1,:),arrow_P(2,:),'k')plot([L(1),L(1)],[L(2),L(2)+20],'k-','LineWidth',1.5),hold onarrow_P=[L(1)-1,L(1),L(1)+1;L(2)+4,L(2),L(2)+4];fill(arrow_P(1,:),arrow_P(2,:),'k')plot([F(1),F(1)+15],[F(2),F(2)],'k-','LineWidth',1),hold onarrow_P=[F(1)+11,F(1)+15,F(1)+11;F(2)-1,F(2),F(2)+1];fill(arrow_P(1,:),arrow_P(2,:),'k')axis([-10,130,-35,40])box off图3的matlab绘图指令为% thin_slab 绘图P1=[0,0];P2=[0,40];P3=[50,20];P4=[100,0];P5=[100,40];plot([P1(1),P2(1)],[P1(2),P2(2)],'k-','LineWidth',1.5),hold onplot([P1(1),P4(1)],[P1(2),P4(2)],'k-','LineWidth',1.5),hold onplot([P5(1),P4(1)],[P5(2),P4(2)],'k-','LineWidth',1.5),hold onplot([P5(1),P2(1)],[P5(2),P2(2)],'k-','LineWidth',1.5),hold onplot([P5(1),P1(1)],[P5(2),P1(2)],'k-','LineWidth',1.5),hold onplot([P2(1),P4(1)],[P2(2),P4(2)],'k-','LineWidth',1.5),hold onplot(P1(1),P1(2),'k-', 'Marker','.','MarkerSize',15)plot(P2(1),P2(2),'k-', 'Marker','.','MarkerSize',15)plot(P3(1),P3(2),'k-', 'Marker','.','MarkerSize',15)plot(P4(1),P4(2),'k-', 'Marker','.','MarkerSize',15)plot(P5(1),P5(2),'k-', 'Marker','.','MarkerSize',15)plot([P1(1)+2,P1(1)+2],[P1(2),P1(2)-4],'k-','LineWidth',1.5),hold on plot([P1(1)-2,P1(1)-2],[P1(2),P1(2)-4],'k-','LineWidth',1.5),hold on plot([P1(1)-6,P1(1)+6],[P1(2)-4,P1(2)-4],'k-','LineWidth',1.5),hold on n=8;yinying=zeros(2,n+1);yinying(1,1:n+1)=(P1(1)-6):((P1(1)+6)-(P1(1)-6))/n:(P1(1)+6);yinying(2,1:n+1)=(P1(2)-4)*ones(1,n+1);yinying(3,1:n+1)=yinying(1,1:n+1)-3*ones(1,n+1);yinying(4,1:n+1)=yinying(2,1:n+1)-3*ones(1,n+1);for ii=1:n+1plot([yinying(1,ii),yinying(3,ii)],[yinying(2,ii),yinying(4,ii)],'k-'),hold on endtheta=0:(180-0)/180:180;theta=theta*pi/180;r=2;x0=P1(1);y0=P1(2);x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-','LineWidth',1.5),hold onplot([P4(1)+2,P4(1)+2],[P4(2),P4(2)-4],'k-','LineWidth',1.5),hold onplot([P4(1)-2,P4(1)-2],[P4(2),P4(2)-4],'k-','LineWidth',1.5),hold onplot([P4(1)-6,P4(1)+6],[P4(2)-4,P4(2)-4],'k-','LineWidth',1.5),hold onplot([P4(1)-7,P4(1)+7],[P4(2)-4-2,P4(2)-4-2],'k-','LineWidth',1.5),hold on n=8;yinying=zeros(2,n+1);yinying(1,1:n+1)=(P4(1)-6):((P4(1)+6)-(P4(1)-6))/n:(P4(1)+6);yinying(2,1:n+1)=(P4(2)-4-2)*ones(1,n+1);yinying(3,1:n+1)=yinying(1,1:n+1)-3*ones(1,n+1);yinying(4,1:n+1)=yinying(2,1:n+1)-3*ones(1,n+1);for ii=1:n+1plot([yinying(1,ii),yinying(3,ii)],[yinying(2,ii),yinying(4,ii)],'k-'),hold on endtheta=0:(180-0)/180:180;theta=theta*pi/180;r=2;x0=P4(1);y0=P4(2);x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-','LineWidth',1.5),hold ontheta=0:(360-0)/360:360;theta=theta*pi/180;r=1;x0=P4(1);y0=P4(2)-5;x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-','LineWidth',1.5),hold onx0=P4(1)-3;y0=P4(2)-5;x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-','LineWidth',1.5),hold onx0=P4(1)+3;y0=P4(2)-5;x=x0+r*cos(theta);y=y0+r*sin(theta);plot(x,y,'k-','LineWidth',1.5),hold onplot([P5(1),P5(1)],[P5(2),P5(2)+15],'k-','LineWidth',1.8),hold onplot([P5(1),P5(1)+13],[P5(2),P5(2)],'k-','LineWidth',1.8),hold ontext(P1(1)+1,P1(2)+3,'1');text(P2(1),P2(2)+3,'2');text(P3(1),P3(2)+3,'3');text(P4(1)-3,P4(2)+3,'4');text(P5(1)-3,P5(2)-5,'5');text(50,10,'A');text(75,20,'B');text(50,30,'C');text(25,20,'D');text(P5(1)+1,P5(2)+8,'P_{y}','FontWeight','Bold');text(P5(1)+15+1,P5(2),'P_{x}','FontWeight','Bold');text(50,0-3,'w');text(0-4,20,'h');arrow_P=[P5(1)-1,P5(1),P5(1)+1;P5(2)+4,P5(2),P5(2)+4];fill(arrow_P(1,:),arrow_P(2,:),'k')arrow_P=[P5(1)+15-4,P5(1)+15,P5(1)+15-4;P5(2)-1,P5(2),P5(2)+1]; fill(arrow_P(1,:),arrow_P(2,:),'k')axis equalaxis([-15,125,-15,60])。