MATLAB二维绘图
- 格式:doc
- 大小:410.50 KB
- 文档页数:10
实验五 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⼆维绘图函数(plot类)plot功能绘制⼆维图形的最基本函数。
语法//x为向量时,以x的元素值为纵坐标,x的序号为横坐标绘制曲线。
//x为矩阵时,以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。
polt(x)//以x 元素为横坐标值,y 元素为纵坐标值绘制曲线plot(x,y)//以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线plot(x,y1,x,y2,…)其他属性参数:符号作⽤符号作⽤符号作⽤符号作⽤y黄-实线.点<⼩于号m紫:点线o圆s正⽅形c青-.点划线x叉号d菱形r红⾊–虚线+加号h六⾓星g绿*星号p五⾓星b蓝v向下三⾓形w⽩^向上三⾓形k⿊>⼤于号egclear;clc;clf;x = linspace(0,2*pi,50);y = sin(x);plot(x,y)xlabel('x轴')ylabel('y轴')title('题⽬')gtext('正弦曲线') %图形上出现⼗字线,⿏标控制其移动,单击⿏标显⽰⽂字ezplot功能⽆需数据准备,直接画出函数图形语法//在默认区间[-2pi,2pi]上绘制函数f=f(x)ezplot(f)//在区间min < x < max上绘制函数 f = f(x)ezplot(f,[min,max])//对于隐式定义的函数f = f(x,y):ezplot(f)绘制的是 f(x,y) = 0ezplot(f,[xmin,xmax,ymin,ymax])//绘制含参函数 x = x(t)和y = y(t) 默认区间: 0 < t < 2pi.ezplot(x,y)//绘制含参函数 x = x(t)和y = y(t) 区间:tmin < t < tmax.ezplot(x,y,[tmin,tmax])//在指定的区域,在figure窗⼝绘制通过handle figure指定的函数ezplot(...,figure_handle)fplot功能通过MATLAB平台内部设置的⾃适应来动态决定⾃变量的离散间隔,当函数值变化缓慢时离散间隔取⼤些,当函数值变化剧烈时,离散间隔取⼩⼀些。
MATLAB语言基础实习指导实习三MATLAB高级绘图目的:通过实习MA TLAB高级绘图指令,能够绘制各种标准图件以及一些特殊图件要求:掌握MATLAB二维绘图指令plot(semilogx、semilogy、loglog),掌握图形加注的各个函数,掌握三维绘图指令mesh、surf,掌握三维图形的加注与修饰,掌握MATLAB绘图颜色控制;熟悉特殊二维图形的绘图函数。
一、二维绘图1.plot(1)单窗口、单曲线绘图>>x=0:0.1:2*pi;y=sin(x);plot(x,y);确定MATLAB绘图的默认线型;把plot(x,y)改为plot(y)看有何异同,为什么?(2)单窗口、多曲线绘图>>x=0:0.1:2*pi;y1=sin(x);y2=cos(x);y3=cos(x)+1;plot(x,y1,x,y2,x,y3);确定MATLAB绘图的默认色序,把plot(x,y1,x,y2,x,y3)改为plot(x,y1);plot(x,y2);plot(x,y3)看有何区别,为什么?(3)开关格式绘图>>x=0:0.1:2*pi;y=sin(x);plot(x,y,’r-’,x,y,’b*’);掌握MATLAB的点型和线型,掌握MATLAB的颜色指定字母。
(4)单窗口分幅绘图subplot的两种调用格式:subplot(nrow,ncol,nfig);subplot(‘position’,[left bottom width height]);第一种格式的调用:t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)查看运行结果,为什么?第二种格式的调用:t=0:0.1:2*piy=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot('position',[0.05,0.55,0.4,0.45]);plot(t,y)subplot('position',[0.55,0.55,0.4,0.45]);plot(t,y3)subplot('position',[0.35,0.05,0.4,0.45]);plot(t,y2)查看运行结果,注意MATLAB中对窗口大小的指定可以使用归一化坐标,如果把subplot('position',[0.35,0.05,0.4,0.45]);改成subplot('position',[0.35,0.05,0.4,0.55]);查看运行结果,为什么?(5)多窗口绘图%figure(n) ——创建窗口函数,n为窗口顺序号。
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二维绘图fplot语句的帮助应用示例一、每种语句格式的使用说明二、每种语句格式的应用示例(1)fplot(f)应用举例fplot(@(x)cos(x));(2)fplot (f, xinterval) 应用举例:xinterval——[Xmin, Xmax] fplot(@(x)cos(x), [-pi,pi]);(3)fplot (funx, funy)应用举例——相当于画带参数的函数(4)fplot( funx, funy, tinterval)应用举例:tinterval——[tmin tmax](5)fplot(___, LineSpec)的应用举例fplot(@(x)exp(x),[-3 0],'--*y');hold on; %在一张图上画多个函数fplot(@(x)cos(x),[0 3],'-.^b');fplot(@(x)sin(x),[3,6],'-+g');grid on %加网格线(6)fplot (___,Name, Value)的应用举例绘制具有不同相位的三个正弦波。
对于第一个,使用 2 磅的线宽。
对于第二个,指定带有圆圈标记的红色虚线线型。
对于第三个,指定带有星号标记的青蓝色点划线线型。
其中第一条语句的’Linewidth’对应name;2对应value。
后附线条属性及各种标记的值,及常用的name, value的值(7)fplot(ax,___)的应用举例(8)fp = fplot(___)的应用举例通过使用圆点表示法设置属性,将线条更改为红色点线。
添加交叉标记,并将标记颜色设置为蓝色。
(9)[x,y] = fplot(___)的应用举例添加标题和轴标签添加标题和轴标签并格式化刻度使用gca 访问当前坐标轴对象。
沿x 轴以为间隔显示刻度线。
通过设置坐标轴对象的XTick 和XTickLabel 属性,格式化x 轴刻度值。
Matlab 二维绘图1 基本绘图函数
plot
loglog
semilogx
semilogy
plotyy
2 图形修饰
2.1 窗体的控制与分割
subplot
2.2 色彩与线型、数据点型
2.3 坐标系的修饰
grid on
grid off
grid minor
grid
hold on
hold off
hold all
hold
box on
box off
box
v=axis
axis auto
axis tight
axis fill
axis ij
axis xy
axis off
axis on
2.4 基本xy平面绘图命令
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:
close all;
x=linspace(0, 2*pi, 100); % 100个点的x座标
y=sin(x); % 对应的y座标
plot(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*');
●图形完成後,我们可用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还有其他各种二维绘图函数,以适合不同的应用,详见下表。
●当资料点数量不多时,长条图是很适合的表示方式
close all; % 关闭所有的图形视窗
x=1:10;
y=rand(size(x));
bar(x,y);
●对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进
行较密集的取样,如下例:
fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围
●若要产生极座标图形,可用polar:
theta=linspace(0, 2*pi);
r=cos(4*theta);
polar(theta, r);
●stairs可画出阶梯图:
x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
stairs(x,y);
●fill将资料点视为多边行顶点,并将此多边行涂上颜色:
x=linspace(0,10,50);
y=sin(x).*exp(-x/3);
fill(x,y,'b'); % 'b'为蓝色
●feather将每一个资料点视复数,并以箭号画出:
theta=linspace(0, 2*pi, 20);
z = cos(theta)+i*sin(theta);
feather(z);
●compass和feather很接近,只是每个箭号的起点都在圆点:
theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); compass(z);。