MATLAB及其绘图功能介绍
- 格式:ppt
- 大小:1.83 MB
- 文档页数:58
实验目的1.掌握MATLAB的基本绘图命令。
2.掌握运用MATLAB绘制一维、二维、三维图形的方法.3.给图形加以修饰。
一、预备知识1.基本绘图命令plotplot绘图命令一共有三种形式:⑴plot(y)是plot命令中最为简单的形式,当y为向量时,以y的元素为纵坐标,元素相应的序列号为横坐标,绘制出连线;若y为实矩阵,则按照列绘出每列元素和其序列号的对应关系,曲线数等于矩阵的列数;当y为复矩阵时,则按列以每列元素的实部为横坐标,以虚部为纵坐标,绘出曲线,曲线数等于列数。
⑵ plot(x,y,[linspec])其中linspec是可选的,用它来说明线型。
当x和y为同维向量时,以x为横坐标,y为纵坐标绘制曲线;当x是向量,y是每行元素数目和x维数相同的矩阵时,将绘出以x为横坐标,以y中每行元素为纵坐标的多条曲线,曲线数等于矩阵行数;当x为矩阵,y为相应向量时,使用该命令也能绘出相应图形。
⑶ plot(x1,y1,x2,y2,x3,y3……)能够绘制多条曲线,每条曲线分别以x和y为横纵坐标,各条曲线互不影响。
线型和颜色MATLAB可以对线型和颜色进行设定,线型和颜色种类如下:线:—实线:点线 -.虚点线——折线点:.圆点 +加号 *星号 x x型 o 空心小圆颜色:y 黄 r 红 g 绿 b 蓝 w 白 k 黑 m 紫 c 青特殊的二维图形函数表5 特殊2维绘图函数[1] 直方图在实际中,常会遇到离散数据,当需要比较数据、分析数据在总量中的比例时,直方图就是一种理想的选择,但要注意该方法适用于数据较少的情况。
直方图的绘图函数有以下两种基本形式。
·bar(x,y) 绘制m*n 矩阵的直方图.其中y 为m *n 矩阵或向量,x 必须单向递增。
·bar(y) 绘制y 向量的直方图,x 向量默认为x=1:m close all; %关闭所有的图形视窗。
x=1:10;y=rand (size(x )); bar(x,y ); %绘制直方图.123456789100.51Bar()函数还有barh ()和errorbar ()两种形式,barh()用来绘制水平方向的直方图,其参数与bar()相同,当知道资料的误差值时,可用errorbar ()绘制出误差范围,其一般语法形式为:errorbar (x,y,l,u)其中x,y 是其绘制曲线的坐标,l ,u 是曲线误差的最小值和最大值,制图时,l 向量在曲线下方,u 向量在曲线上方。
Matlab 小知识1、翻转fliplr(左右)、flipud(上下)fftshift()上下左右fftshift(,1)对行(row)同时操作,引起列的变化(不是简单的上下) 类似fpliudfftshift(,2)对列(column)同时操作,引起行的变化(不是简单的左右) 类似fplilreg:a=[1 2 3;4 5 6; 7,8 9];fliplr=321654987flipud=789456123fftshift=978312645fftshift(a,1)=789123456fftshift(a,2)=3126459782、data:Naz*Nrg,行为方位向,列为距离向fft(,[],1)同时对一列进行fft,在SAR数据处理中为方位向FFT,变换到距离时域,方位频域(距离-多普勒域)== fft()fft(,[],2)同时对一行进行fft,在SAR数据处理中为距离向FFT,变换到距离频域,方位时域。
== fft(x.’).’fft(,[],1) + fft(,[],2) = fft2()3、conj(共轭) conv(卷积)4、imagesc,colormap(gray)5、转置:“’” 对于复数为共轭转置,若要只转置不取共轭,则应该是“.’”对于实数,“’”即可实现转置。
6、对于有复数j的程序,在循环中切忌再次使用j作为循环变量,同理,不可再次定义变量j进行其他运算。
7、算法优化:a) sinc(1:100)比单独计算sinc(1)…sinc(100)快N倍;b) 如果遇到a^2*b^2,则可以先计算(a*b)再对乘积求平方;8、eps 计算机最小正数,在pc机上,它等于2e-52。
9、保存的指令格式(1)save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中。
(2)save [文件名] [变量名] 将指定的变量保存在指定文件中,如:save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中。
matlab plot的用法Matlab是一种常用的科学和工程计算软件,其具备强大的绘图功能。
其中,Matlab Plot函数是用于创建二维和三维图形的主要工具。
下面将介绍Matlab Plot 函数的用法和一些常见的图形类型。
1. 二维图形绘制:Matlab Plot函数可用于绘制直线图、散点图、条形图等。
下面是一些常用函数的示例:- plot(x, y):绘制二维直线图,其中x和y是数据点的坐标数组。
- scatter(x, y):绘制二维散点图,其中x和y是数据点的坐标数组。
- bar(x, y):绘制垂直条形图,其中x是类别,y是对应的值。
- barh(x, y):绘制水平条形图,其中x是类别,y是对应的值。
2. 三维图形绘制:Matlab Plot函数还可以用于创建三维图形,例如曲面图、散点云图等。
下面是一些常用函数的示例:- plot3(x, y, z):绘制三维直线图,其中x、y和z是数据点的坐标数组。
- scatter3(x, y, z):绘制三维散点图,其中x、y和z是数据点的坐标数组。
- surf(x, y, z):绘制三维曲面图,其中x、y和z是数据点的坐标数组。
3. 图形设置:Matlab Plot函数还可用于设置图形的样式和属性。
下面是一些常用的设置函数:- title("标题"):设置图形的标题。
- xlabel("x轴标签"):设置x轴的标签。
- ylabel("y轴标签"):设置y轴的标签。
- legend("图例1", "图例2", ...):添加图例,用于标识不同的数据系列。
以上仅是Matlab Plot函数的一些基本用法和示例,Matlab还提供了丰富的绘图功能和属性设置选项,能够满足各种数据可视化的需求。
通过学习Matlab Plot的用法,您可以更好地利用Matlab进行数据分析和图形展示。
matlab里的plot的功能与用法(二)MATLAB中plot函数的功能与用法简介plot函数是MATLAB中最常用的绘图函数之一,它用于绘制一维和二维图形。
通过plot函数,我们可以方便地绘制曲线、散点图、柱状图等各种图形。
本文将介绍plot函数的一些常用用法。
绘制基本曲线使用plot函数,可以绘制基本的曲线。
下面是一个简单的示例代码:x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)参数说明•x:表示x轴上的数据点的取值,可以是向量或矩阵。
在上述示例代码中,我们使用了linspace函数生成了一个包含100个点的向量。
•y:表示y轴上的数据点的取值,也可以是向量或矩阵。
在示例代码中,我们计算了对应于x轴取值的正弦函数值。
绘制结果运行上述代码,可以绘制出一个以x为自变量,y为因变量的曲线图。
修改曲线样式plot函数允许我们修改绘图的样式,包括曲线的颜色、线型、标记等。
下面是一个示例代码:x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y, 'r--o')参数说明通过在plot函数的第三个参数位置传入一个字符串,我们可以控制绘图的样式: - 'r':表示曲线的颜色为红色。
- '--':表示曲线的线型为虚线。
- 'o':表示在每个数据点处绘制圆形标记。
绘制结果通过修改样式参数,我们可以得到一条红色的虚线,且在每个数据点处都有圆形标记的曲线图。
绘制多个曲线除了绘制单个曲线外,我们还可以在同一个图中绘制多个曲线。
下面是一个示例代码:x = linspace(0, 2*pi, 100);y1 = sin(x);y2 = cos(x);plot(x, y1, 'r')hold on % 开启绘图保持功能plot(x, y2, 'b--')legend('sin', 'cos')参数说明•y1和y2:分别表示两条曲线的因变量取值。
详尽全⾯的matlab绘图教程Matlab绘图强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。
此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。
本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
⼀.⼆维绘图⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。
可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。
⼆维图形的绘制是其他绘图操作的基础。
⼀.绘制⼆维曲线的基本函数在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。
1. plot函数的基本⽤法plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。
plot函数的应⽤格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗⼝中输⼊以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。
例52 绘制曲线这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。
MATLAB绘图与图形处理人们很难从一大堆原始的数据中发现它们的含义,而数据图形恰能使视觉感官直接感受到数据的许多内在本质,发现数据的内在联系。
MATLAB可以表达出数据的二维,三维,甚至四维的图形。
通过图形的线型,立面,色彩,光线,视角等属性的控制,可把数据的内在特征表现得淋漓尽致。
下面我们分别介绍图形的命令。
7.1 二维图形7.1.1 基本平面图形命令命令1 plot功能线性二维图。
在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。
在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。
用法plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=[x(i)],Y=[y(i)],则plot(X,Y)先描出点(x(i),y(i)),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。
若X,Y均为同维同型实数矩阵,X = [X(i)],Y = [Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。
plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:m;若y 为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=[1;2;…;n];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。
Matlab常用功能介绍一、Matlab简介Matlab(Matrix Laboratory)是一款常用于科学计算和工程开发的强大软件,由MathWorks公司开发。
它的强大功能和灵活性使得它成为了许多科学家、工程师和研究人员的首选工具。
本文将介绍一些Matlab的常用功能,以助读者更好地了解和使用该软件。
二、矩阵与向量的运算Matlab是以矩阵为基础的编程语言,因此对于矩阵和向量的运算有着强大的支持。
例如,我们可以使用内置的运算符来进行矩阵和向量的加减乘除,即使矩阵的维度不一致。
此外,Matlab还提供了许多函数来进行矩阵和向量的特定运算,如转置、矩阵乘法、求逆、求行列式等。
三、数据可视化Matlab提供了强大的数据可视化功能,使得用户可以通过图表和绘图来更好地理解和展示数据。
使用plot函数,我们可以绘制直线图、散点图、柱状图等各种类型的图表。
通过调整参数,我们还可以自定义图表的样式、颜色和标签,以满足不同的需求。
此外,Matlab还支持3D绘图、曲线拟合和图像处理等高级可视化功能。
四、数学函数和符号计算Matlab内置了许多常用的数学函数,如三角函数、指数函数、对数函数等。
利用这些函数,我们可以快速进行数值计算和数学分析。
Matlab还提供了符号计算的功能,可以直接进行代数运算和求解方程。
使用符号计算工具箱,我们可以显示地定义符号变量、表达式和方程,进行各种符号计算和求解。
五、数值积分和微分方程求解Matlab提供了数值积分和微分方程求解的工具箱,方便用户进行科学计算和工程分析。
使用int函数,我们可以对函数进行数值积分,求出定积分的近似值。
类似地,使用ode函数,我们可以对常微分方程进行数值求解,得到方程的近似解。
这些功能可以应用于许多领域,如物理学、化学、生物学等。
六、信号处理和图像处理Matlab提供了丰富的信号处理和图像处理工具箱,适用于音频信号、图像、视频等各种类型的数据。
通过调用内置函数,我们可以进行数字滤波、频谱分析、傅里叶变换等操作,对信号进行处理和分析。
三维绘图2 基本XYZ立体绘图命令●mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图●surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是25x25的矩阵surf(xx, yy, zz); % 画出立体曲面图●peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) - 1/3*exp(-(x+1).^2 - y.^2)●我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);●waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);●下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');●meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);●surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);●contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);●contour画出曲面等高线在XY平面的投影:contour(peaks, 20);plot3可画出三度空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t);亦可同时画出两条三度空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);三维绘图的主要功能:绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图plot3 ——基本的三维图形指令调用格式:plot3(x,y,z) —— x,y,z是长度相同的向量plot3(X,Y,Z) —— X,Y,Z是维数相同的矩阵plot3(x,y,z,s) ——带开关量plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,…)二维图形的所有基本特性对三维图形全都适用。