Matlab学习笔记--Matlab画图
Matlab常用操作、绘图等小知识

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 中。
03第三章Matlab绘图-Matlab教程

subplot(m,n,p) —— 按从左至右,从上至下排列
行
列 绘图序号
第14页,共76页。
1 0.8 0.6 0.4 0.2
0 -0.2 -0.4 -0.6 -0.8
-1 0
subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y3) subplot(1,3,3); plot(t,y2)
[x,y,w,h]=MYaxis(4,4,0.02,0.03,0.05,0.08,0.1,0.1,i);
subplot('position',[x,y,w,h]) end
第19页,共76页。
4. 多窗口绘图
figure(n) —— 创建窗口函数,n为窗口顺序号。 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) —— 自动出现第一个窗口 figure(2) plot(t,y1) —— 在第二窗口绘图 figure(3)
ezplot的调用格式:
ezplot(f) —这里f为包含单个符号变量x的符号表达式, 在x轴的默认范围
[-2*pi 2*pi]内绘制f(x)的函数图 ezplot(f,xmin,xmax) — 给定区间
ezplot(f,[xmin,xmax],figure(n)) — 指定绘图窗口绘 图。
第29页,共76页。
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
MATLAB程序设计-关于常用绘图函数的运用方法及说明

MATLAB程序设计作业陈杰杰2013090302072014-11-3MATLAB具有强大的图形处理功能。
下面给出了3个m脚本文件,请在MA TLAB环境下运行,观察其输出。
要求根据每个m文件输出的图形(共18个),用中文翻译并解释产生每个输出图形的函数具体是什么?其功能是什么?文件1:clear all %清除工作区间所有的变量clf %清除图形窗口的内容mfilename('fullpath') %返回当前正在运行的函数所在文件的文件名(全部路径)echo on %显示M文件执行的每一条命令subplot(2,3,1) %使(2*3)幅子图中第一个子图成为当前图t = 0:0.1:10; %将以0为起点、以10为终点、以0.1为步长的一维矩阵赋值给t z = impulse(1, [1 1 1], t); %动力系统的脉冲响应数据,以时间t步长0.1为单位stairs(t(1:5:end),z(1:5:end)) %绘制阶梯状图,从第1行开始,间隔5行取1行,到最后1行为止hold on %保持当前坐标轴和图形,并接受下一次绘制plot(t,z,'r') %用红线绘制横轴为t、纵轴为z的二维函数图plot([0 t(end)], [0 0], 'k:') %用黑色虚线绘制函数图像,要求经过原点平行于横轴、取值范围为0到t的最后一个值title('Impulse Response - (STAIRS)') %将此图命名为Impulse Response - (STAIRS)(脉冲响应-(阶梯图))subplot(2,3,2) %使(2*3)幅子图中第二个子图成为当前图theta = 2*pi*(0:74)/75; %将以0为起点、以2*pi*74/75为终点、2*pi/75为步长的一维矩阵赋值给thetax = cos(theta); %计算cos(theta)的值,并赋给xy = sin(theta); %计算sin(theta)的值,并赋给yz = abs(fft(ones(10,1), 75))'; %ones(10,1)生成十行一列的全一矩阵;fft(ones(10,1), 75)进行快速傅里叶变换;z = abs(fft(ones(10,1), 75))'取幅值并转置stem3(x, y, z) %绘制三维杆状图title('Polar FFT - (STEM3)') %将此图命名为Polar FFT - (STEM3)(极坐标下快速傅里叶变换-(三维针状图))subplot(2,3,3) %使(2*3)幅子图中第二个子图成为当前图[X,Y,Z] = peaks(-2:0.25:2); %产生-2为起点、2为终点、0.25为步长的guassian分布矩阵,返回峰函数的三个坐标轴空间上的数值,X表示在x轴,Y表示在y轴,Z表示在z轴,这样每个点就对应一个(X,Y,)[U,V] = gradient(Z, 0.25); %返回二维数值梯度的U、V部分,这里的0.25指定了沿着梯度的方向取点的间隔为0.25contour(X,Y,Z,10); %绘制矩阵Z的等高线,绘制的等高线被限定在由X、Y指定的区域内,等高线条数为10hold on %保持当前坐标轴和图形,并接受下一次绘制quiver(X,Y,U,V); %使用箭头来直观的显示矢量场,该调用格式表示通过在(X, Y)指定的位置绘制小箭头来表示以该点为起点的向量(U,V)title('Surface Gradient - (CONTOUR & QUIVER)') %将此图命名为Surface Gradient - (CONTOUR & QUIVER)(表面梯度-(等高线图和矢量场图))theta = 0:0.1:4*pi; %将以0为起点、以4*pi为终点、0.1为步长的一维矩阵赋值给theta[x,y] = pol2cart(theta(1:5:end), theta(1:5:end)); %把极坐标(theta(1:5:end), theta(1:5:end))转换为对应的二维笛卡尔坐标(x,y),theta(1:5:end)表示从第一行到最后一行,每五行取一行subplot(2,3,4) %使(2*3)幅子图中第四个子图成为当前图polar(theta,theta) %绘制极坐标图像,第一个theta是用弧度制表示的角度,第二个theta是对应的半径axis([-13 13 -12.5 14.5]) %横坐标范围为-13到13,纵坐标范围为-12.5到14.5title('Spiral Plot - (POLAR)') %将此图命名为Spiral Plot - (POLAR)(螺旋图-极坐标图)subplot(2,3,5) %使(2*3)幅子图中第五个子图成为当前图compass(x,y) %绘制罗盘图axis([-13 13 -12.5 14.5]) %横坐标范围为-13到13,纵坐标范围为-12.5到14.5title('Direction Vectors - (COMPASS)') %将此图命名为Direction Vectors - (COMPASS)(方向矢量-罗盘图)subplot(2,3,6) %使(2*3)幅子图中第六个子图成为当前图feather(x(1:19),y(1:19)) %绘制羽状图,其中x、y表示一组向量,x是向量的横坐标(x分量),y是向量的纵坐标(y分量)。
Matlab绘图

第二章绘图要画一个函数的图像,先是选取一堆x,求出相对应的y值,然后按照数值描点,接着用光滑的曲线把点连接起来。
和数学课讲的一样,在matlab中,我们画图也分为三步1. 建立一个x的点集;2. 根据函数关系式算出每个x对应y的点集;3. 将这些点用平滑的曲线连接起来。
例如要画y=sinx在[0,10]区间内的图像,首先我们要确定出x的区间>>x = [0:0.1:10];命令的意思是,产生一个数集,它从0开始,每次加0.1,一直加到10为止注意,命令后面的分号记得加上,否则matlab会把x的元素都打印出来,下面就是不加分号的后果:有了x的数集后,我们再根据函数关系式y=sinx得出y的点集>>y = sin(x);同样的,别忘了把分号加上抑制程序输出y的具体值,以及sin(x)的括号别忘了加到这里,我们已经把x和y确定下来,接下来只需用plot(x,y)命令即可绘制出图像>>plot(x,y)当然,如果你不定义y,而直接用一下嵌套命令也是可以的>>plot(x,sin(x))我们将x的增量变大一点,改为0到10,每次增幅为1,即>>x = [0:1:10];然后我们输入>>plot(x,y)我们会得到错误信息:原因是之前我们定义的y是由之前的x决定的,当x改变后,y依然没有改变,为了解决这个问题,我们要把y重新定义一遍,即命令要完整再输入一遍>>x = [0:1:10];>>y = sin(x);>>plot(x,y)然后程序会绘制出和我们预期相同的图像没错,我们将看到不光滑的曲线,这告诉我们,当使用plot(x,y)画图的时候x的增加幅度尽可能小一些,画出的图像才精确(跟数学里点越多图像越精确原理一样的)为了美化图像(有时是为了更清楚的辨析图像),我们经常要为图像加上网格,为坐标轴命名,改变曲线的颜色、形状这些命令2.1 加上网格我们使用grid on 命令我们这样书写:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),grid on这样就画出了带网格的图像当然,也可以先画出没有网格的图像,再把窗口切回matlab命令输入窗口,输入grid on,这样图像就会加上网格,即>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>grid on2.2 为坐标轴命名为x坐标轴命名的命令是xlabel(),显然,y的就应该是ylabel()比如这里,我想让x命名为x,y命名为sinx,则如下输入:>>x=[0:0.1:10];y=sin(x);>>plot(x,y),xlabel(‘x’),ylabel(‘sinx’)注意,坐标轴的名字要用引号括起来,表示字符串当然也可以画图后再标坐标轴,即:>>x=[0:0.1:10];y=sin(x);>>plot(x,y)>>xlabel(‘x’)>>ylabel(‘sinx’)然后我们就可以看到坐标轴带命名的图像:2.3 绘制多条曲线绘制多条曲线有两种情况,一种是在同一个坐标面内画多条曲线,另一种是在一个面内画多个独立的曲线我们先讲第一种,假设我们要在一个坐标面内画sinx,cosx,tanx的图像先定义x,y>>x=[0:0.1:10]>>y1=sin(x);>>y2=cos(x);>>y3=tan(x);接着画图>>plot(x,y1)这时候函数绘制出了sinx的图像接着我们继续画>>plot(x,y2)我们会发现程序会把之前的sinx图像抹掉,然后绘制cosx的图像为了让他们同时存在,我们使用hold on命令,即画完一个图后,hold on,继续画当我们再加上tanx后会得到这个图像这是因为函数显示区间设置的原因,后面讲2.4 更改图像显示区间从楼上我们已经在一个图中画出了sinx、cosx、tanx的图像,但是我们知道tanx的值域是负无穷到正无穷,而sin,cos的值域是-1到1,这导致了我们基本上看不到sin,cos的图像,为了解决这个问题,我们只需用axis命令即可,命令格式为axis([xmin xmax ymin ymax])即括号内跟一个区间,四个数字分别是x的起点,x的终点,y的起点,y的终点。
matlab画图常用命令

matlab画图常用命令clc 清理命令窗口历史内容clear 清除所有内存存储的变量值clf 清除图形whos 显示各变量信息sqrt 开方edit 开编辑窗口linspace(a,b,N) 定义等差数列,a初值,b末值,N步数(即数据个数)logspace(a,b,N) 定义等比数列,初值10^a,末值10^b,N步数(即数据个数)A.*B 矩阵点乘,对应项相乘A./B 矩阵点除A.^B 矩阵点方(指数相同也要用点方)A=[a:n:b] 定义以a为开始,步长为n的等差数列,最后一个数不超过b(n省略代表步长为1)A' 矩阵转置A=[B,C;D] 矩阵拼凑e *10^exp e^format long 后续数据显示小数点后15位format short 后续数据显示小数点后4位format bank 后续数据显示小数点后2位(不适用于复数)format long/short e 后续数据科学技术法显示,并且小数点后15位/4位format long/short eng 后续数据类似科学技术法显示,但指数保持为3的整数倍,并且有效位数(15位+1/4位+1)format + 矩阵中各元素只显示正负,零为空格format rat 以分数形式显示有理数format long/short g Matlab自定最优显示load/save +文件名载入/储存工作区数据rem(a,b) a/b的余数size(A) A矩阵的大小[行数列数]ylim([0,1])help 打开帮助界面help+帮助界面中对应标题查看对应函数的使用nthroot(x,n) x的n次实数根sign(x) x大于零输出1;x等于零输出0;x小于零输出-1log10(x) lg(x)log(x) ln(x)【注:logb(a)=ln(a)/ln(b)】fix(x) 取整round(x) 对x四舍五入floor(x) 对x向负取整ceil(x) 对x向正取整factor(x) 对x因式分解gcd(a,b) 求a,b最大公约数lcm(a,b) 求a,b最小公倍数rats(x) 用分数表示xfactorial(x) x!nchoosek(n,k) 组合数n选kprimes(x) 找出小于x的素数isprime(x) x是素数,返回1sin(),cos(),tan()... 自变量为弧度asin(),acos(),atan()... 结果为弧度max(x),min(x) x适量中的最大、最小值[a,b]=max(A) A为一行时,a为最大值,b为最大值单行位置A为m行n列时,a为m行向量,对应各列最大值,b为m行向量,对应各列最大值在该列位置多个最大值时,位置默认第一个max(A,B) A、B同大,结果为A,B中对应位置最大值的汇总矩阵mean()/median()/mode() 求平均值/中位数/众数(众数选最小值)cumsum/cumprod(A) 求A的累加/累乘结果,生成与A同大小矩阵,(列运算)单矩阵运算sum/prod(A) A矩阵列求和/求积或求行向量和/积sort(A)/sort(A,'descend') 将A升序/降序排列(行向量自身升序/降序,矩阵列升序/降序)sortrows(A,n) 按第n列排列各行,n正升序,n负降序,n省略第一列升序size(x)/[a,b]=size(x) 返回[行数,列数]/给a、b赋值length(A) 矩阵A的最大长度(行数和列数的最大值)std(A) 求A的标准差(行向量自身求解,矩阵列求解)var(A) 求A的方差(行向量自身求解,矩阵列求解)rand/randn(m,n) 生成(0,1)m×n随机数矩阵/生成均值为0,标准差为1的高斯随机数矩阵(正态分布)【通过randn(m,n)*std+mean可得到均值为mean,标准差为std的正态分布随机数矩阵】A+B*i(complex(A,B)) 生成复数或复数矩阵real(A)/imag(A) 求实部/虚部isreal(A) 实数返回1coni(A) 求共轭【或用A'也可,但会发生行列互换】x为复数时abs(x)/angle(x) 求复数的模,与水平方向的夹角realmax/realmin 返回MATLAB能够使用的最大/最小浮点数intmax/intmin 返回MATLAB能够使用的最大/最小整数pi/i/j 圆周率/虚数/虚数clock 当前时间(一般使用fix(clock)增加可读性)date 返回日期,以字符串形式eps 返回MATLAB最小间隔矩阵A(n,:)/(:,m)【A(n,end)/(end,m)】A矩阵的第n行【最后一列】/第m列【最后一行】[A,B]=meshgrid(a,b),A.*B a,b为行向量,运行结果得a*b的m*n 维矩阵【meshgrid(x)等价于meshgrid(x,x)】zeros(m)/(m,n) m*m/m*n全零矩阵ones(m)/(m,n) m*m/m*n全一矩阵diag(A) 取对角元素为列向量diag(x) 若x为行向量或列向量,结果为对角阵其他元素为零diag(A,n/-n) 对角线右上/左下第n斜线上的元素fliplr(A)/flipud(A) A矩阵列/行进行对称翻转magic(m) 创建m*m维魔方矩阵作图xlabel/ylabel('') 添加x/y轴坐标title('') 添加表头grid 使图像出现网格figure(x) 创建或打开figure x窗口,之后作图均在该窗口进行hold on 保持图像窗口中之前的图像,进而在此作图不会清除之前图像(hold off取消)plot(x1,y1,x2,y2) 同时做两个图像plot(x) x为行向量,则以点数1至n为横轴,x为纵轴作图,按顺序依次连线plot(A) A为m*n矩阵,则图像为那条曲线,每条曲线横轴均为1至m,纵轴为相应列对应值plot(x,A) 以x为横轴,A的每一列为纵轴作图(x与A同维)plot(A,B) A与B需同维,对应列分别作为横轴和纵轴作图plot('标识符') 线型:-实线:点-.点画线--虚线点型:.点o圆圈xx形状+加号*星号s方形d菱形v下三角^上三角<左三角>右三角p五角星h六角星颜色:b蓝色g绿色r红色c青色m洋红色y黄色k黑色w白色【注】,多重输出可多重设定axis([a,b,c,d]) 限制图像x轴在[a,b],y轴在[c,d]legend('string1','string2',etc) 按照作图顺序添加图注text(x,y,'string') 在(x,y)处添加文本‘string’gtext('string') 添加文本‘string’,位置由鼠标点击确定【注】(适用于string形式)输入希腊字母需要'\'+希腊字母读法;^ 可出现上标,_ 可出现下标若想输出_或^,可用\+相应符号subplot(m,n,k) 将图形窗口划分成m行n列,所有的绘图操作都在一行一行数的第k个子图中进行【注】clf针对消除一个figure窗口内的内容,而plot等一系列操作针对一个子图中,且hold on/off被限于特定一个子图中,不影响其他子图polar(x,y) 绘制极图semilogx/semilogy(x,y) x轴对数,y轴线性/x轴线性,y轴对数作图loglog(x,y) 双对数坐标作图bar(x)/barh(x) x为矢量时,按x绘制垂直/水平条形图x为矩阵时,按各行分组绘制垂直/水平条形图bar3(x)/bar3h(x) 同上,绘制三维条形图pie(x)/pie3(x) 绘制(三维)饼状图。
MATLAB绘图总结

一、二维数据曲线图1、MATLAB 最常用的画二维图形的命令是plot, plor 函数的基本调用格式为:plot(x.y)其 中x 和y 为长度相同的向豈,分别用于存储x 坐标和y 坐标数据。
例 1:在[0,2 7T ]画 Sill(.v) 0生成的图形如下图1所示:图1说明:(1) plot 函数的输入参数是矩阵形式时A 、 当x 是向量,y 是有一维与x 同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线 条数等于y 矩阵的另一维数,x 被作为这些曲线共同的横坐标。
B 、 当x,y 是同维矩阵时.则以x,y 对应列元素为横、纵坐标分别绘制曲线,曲线条数 等于矩阵的列数。
C 、对只包含一个输入参数的plot 函数,当输入参数是实矩阵时,则按列绘制每列元素 值相对其卜.标的曲线,曲线条数等于输入参数矩阵的列数:当输入参数是复数矩阵时,则按 列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
(2) 含多个输入参数的plot 函数 调用格式为:plot(xl,yl.x2,y2,"--.xn.yn)A, 当输入参数都为向量时,xl 和yl, x2和y2, xn 和yn 分别组成一组向量对,每一 组向量对的长度可以不同。
每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制岀 多条曲线。
B.当输入参数有矩阵形式时,配对的x_y 按对应列兀素为横、纵坐标分别绘制曲线,曲线 条数等于矩阵的列数。
例2:如卜所示的程序:x 1 =liuspace(0,2 *pi,l 00);x2=luispace(0.3 *pi,l 00);x3=linspace(0.4*pi,100);yl=sin(xl); y2=l+sin(x2);y3=2+sin(x3);x=[xl;x2;x3]';0.80.60.40.2-0.2-0.4-0.6-0.8y=[yl;y2;y3「plot(x,y,xl,yl-l) 其图形如图2所示:图2(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x),在这种情况卜,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一•条连续曲线,这实际上是绘制折线图。
matlab数字图像处理intrans函数学习笔记

matlab数字图像处理intrans函数学习笔记intrans函数如下:function g = intrans(f,varargin)error (nargchk(2,4,nargin))%check inputclassin = class(f);%stroe the class of the input for use later.if strcmp(class(f),'double') & max(f(:))>1 & ~strcmp(varargin{1},'log')f = mat2gray(f);%if all the 3 conditions is filling the need .else% make sure the class(f) is in the class of double , f(:) means all the% elemnets in the martix F, and the max(f(:))>1 means if the max(f(:))>1 so% convert them into double , in this way they are all less then1.% strcmp(varargin[1],'log') is the string compare, and the varargin {1}% compares with log.f = im2double(f);endmethod = varargin{1};switch methodcase 'neg'g = imcomplement(f);case 'log'if length(varargin) == 1c = 1;elseif length(varargin) == 2c = varargin{2};elseif length(varargin) == 3c = varargin{2};classin = varargin{3};elseerror('Incorrect number of input for the log option.')endg = c*(log(1+double(f)));case 'gamma'if length(varargin) < 2error('not enough input for the gamma option')endgam = varargin{2};g = imadjust (f, [], [], gam);case 'stretch'if length(varargin) == 1%defaults vaulem = mean2(f);E = 4.0;elseif length(varargin) == 3m = varargin{2};E = varargin{3};else error('incorrect number of inputs for the srtetch option.')endg = 1./(1 + (m./(f+eps)).^E);otherwiseerror('unkown enhancement method.')end% g = changeclass(classin , g);说实话,对matlab的代码风格不是很习惯,后来看着看着感觉和才⾮常相似,也就看起来舒服多了这段代码刚开始没看懂,尤其是varargin{}的⼀直不明⽩,但加断点后,将整个程序跑了⼀遍,基本就明⽩了,这⾥不得不说,中⽂版书上将的不是很明⽩。
第三章 matlab图形绘制

指定
grid 图形中加网格
例3.在同一坐标系下画出sinx和cosx的图形,并适当加 标注.
x=linspace(0,2*pi,30);y=[sin(x);cos(x)]; plot(x,y);grid;xlabel (‘x’);ylabel (‘y’); title(‘sine and cosine curves’); text(3*pi/4,sin(3*pi/4),’\leftarrowsinx’); text(2.55*pi/2,cos(3*pi/2),’cos\rightarrow’)
结果见下图.
4.多幅图形
subplot(m,n,p)可以在同一个图形窗口中画出多个图 形,用法见下例.
x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).* cos(x);v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),title(‘sin(x)’) subplot(2,2,2),plot(x,z),title(‘cos(x)’) subplot(2,2,3),plot(x,u),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),title(‘sin(x)/cos(x)’)
plot(x1,y1,x2,y2, …) 在此格式中,每对x,y必须符合 plot(x,y)中的要求,不同对之间没有影响,命令对每 一对x,y绘制曲线.
例1.做出y=sinx在[0,2π]上的图形,结果见下图.
x=linspace(0,2*pi,30); sin(x);plot(x,y)
例2.在同一坐标系下做出两条曲线y=sinx和y=cosx 在[0,2π]上的图形.结果见下图.
第二章 MATLAB绘图

说明:
(1)当x,y是同维矩阵时,则以x,y对应列元素为
横、纵坐标分别绘制曲线,曲线条数等于矩阵
的列数。 (2)当x是向量,y是有一维与x同维的矩阵时, 则绘制出多根不同色彩的曲线。曲线条数等于 y矩阵的另一维数,x被作为这些曲线共同的横
坐标。
(3)plot函数最简单的调用格式是只包含一个输 入参数:plot(x)。
对图形窗口灵活分割。请看下面的程序。
x=linspace(0,2*pi,60);
y=sin(x);z=cos(x);
t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); stairs(x,y); title('sin(x)-1');axis ([0,2*pi,-1,1]); %选择2×2个区中的1号区
2.2.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
4. 对函数自适应采样的绘图函数
fplot函数的调用格式为: fplot(fname,lims,tol,选项) 例2.11 用fplot函数绘制f(x)=cos(tan(πx))的曲线。 先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x));
再用fplot函数绘制myf.m函数的曲线:
例2.6 用图形保持功能在同一坐标内绘制曲线
y=2e-0.5xsin(2πx)及其包络线,并加网格线。
程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,'k'); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持
最全的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⼀,基操1,命令窗⼝中的标点符号:空格:⽤于输⼊变量之间的分隔符以及数组⾏元素之间的分隔符。
逗号:⽤于要显⽰计算结果的命令之间的分隔符;⽤于输⼊变量之间的分隔符;⽤于数组⾏元素之间的分隔符。
点号:⽤于数值中的⼩数点。
分号:⽤于不显⽰计算结果命令⾏的结尾;⽤于不显⽰计算结果命令之间的分隔符;⽤于数组元素⾏之间的分隔符。
冒号:⽤于⽣成⼀维数值数组,表⽰⼀维数组的全部元素或多维数组的某⼀维的全部元素。
百分号:⽤于注释的前⾯,在它后⾯的命令不需要执⾏。
单引号:⽤于括住字符串。
圆括号:⽤于引⽤数组元素;⽤于函数输⼊变量列表;⽤于确定算术运算的先后次序。
⽅括号:⽤于构成向量和矩阵;⽤于函数输出列表。
花括号:⽤于构成元胞数组。
下划线:⽤于⼀个变量、函数或⽂件名中的连字符。
续⾏号:⽤于把后⾯的⾏与该⾏连接以构成⼀个较长的命令。
“At”号:⽤于放在函数名前形成函数句柄;⽤于放在⽬录名前形成⽤户对象类⽬录。
+,-,*,/,Λ:算术运算符。
2,数值计算结果的显⽰格式:命令含义范例format short短格式(默认) 3.1416(⼩数点后4位有效)format short e短格式科学格式 3.1416e+000(5位科学计数)format long长格式 3.141592653589793(15位)format long e长格式科学格式 3.141592653589793e+000format rat有理格式355/113format hex⼗六进制格式400921fb54442d18format bank 银⾏格式 3.14(元⾓分格式)3,命令窗⼝的常⽤控制命令:clc: 清屏。
清除命令窗⼝中的所有已显⽰的内容。
clear: 删除内存中的变量。
what:列出当前⽬录下的M、MAT、MEX⽂件清单。
dir:显⽰当前⽬录或指定当前⽬录下的⽂件。
cd 路径:改变或显⽰当前⼯作⽬录;路径可省略,省略时为显⽰当前⼯作⽬录;cd ..表⽰回到上⼀级⽬录。
matlab-画图函数命令

例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(lab
liti25
例 在[0,2*pi]上画 x = cos t , y = sin t 星形图
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
(2) figure(h)
新建h窗口,激活图形使其可见,并把它置 于其它图形之上
例
区间[0,2*pi]新建两个窗口分别画出y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)');
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z) Matlab liti36
返回
在图形上加格栅、 在图形上加格栅、图例和标注
例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x), a=sin(x)*cos(x),b=sin(x)/cos(x)。 解x=linspace(0,2*pi,100); Matlab liti7 y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(‘sin(x)’) subplot(2,2,2);plot(x,z),title(‘cos(x)’) subplot(2,2,3);plot(x,a),title(‘sin(x)cos(x)’) subplot(2,2,4);plot(x,b),title(‘sin(x)/cos(x)’
MATLAB中的绘图函数介绍

MATLAB中的绘图函数介绍概述:MATLAB是一种非常强大的数值计算和科学绘图软件,在各个领域中都得到广泛的应用。
在MATLAB中,绘图函数是其中一个非常重要的功能,它可以帮助我们将数据可视化,并进行分析和解释。
在本文中,我们将详细介绍一些常用的MATLAB绘图函数及其功能。
一、plot函数:plot函数是MATLAB中最基本的绘图函数之一,它可以绘制线性图。
通过将一系列的点连接起来,我们可以绘制出数据的变化趋势。
下面是plot函数的一个简单示例:```matlabx = 0:0.1:10;y = sin(x);plot(x, y);```在这个例子中,我们首先定义了x的取值范围为0到10,间隔为0.1。
然后通过使用sin函数计算出对应的y值。
最后,调用plot函数将x和y的数值传入,即可得到一条关于sin函数的图形。
除了基本的线性图,plot函数还可以绘制不同颜色和线型的曲线,并添加标题、标签等。
它是进行简单数据可视化的利器。
二、scatter函数:相比于plot函数,scatter函数可以绘制散点图,用于展示多个不同数据点之间的分布关系。
通过scatter函数,我们可以方便地比较不同变量之间的相关性。
以下是scatter函数的一个示例:```matlabx = randn(100,1);y = 0.5*x + randn(100,1);scatter(x, y);```在这个例子中,我们首先生成了两组随机数x和y。
然后使用scatter函数将它们绘制成散点图。
通过观察散点图的分布,我们可以判断出x和y之间是否存在线性相关性。
scatter函数还支持设置散点的颜色、大小和透明度等参数,以满足不同的需求。
它是进行多变量分析的重要工具之一。
三、bar函数:bar函数可以用于绘制柱状图,常用于展示各个类别的数据之间的差异。
通过柱状图,我们可以清晰地比较不同类别之间的数值大小。
以下是bar函数的一个示例:```matlabx = categorical({'A', 'B', 'C', 'D'});y = [10, 15, 8, 12];bar(x, y);```在这个例子中,我们首先定义了四个类别,分别是'A'、'B'、'C'和'D'。
MATLAB中绘图命令介绍

MATLAB中绘图命令介绍本节将介绍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函数即可:hold on 保持当前图形,以便继续画图到当前坐标窗口hold off 释放当前图形窗口title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)plot(x, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态,也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元、颜色元、图线型态,y 黄色 .点k 黑色o 圆w 白色x xb 蓝色++g 绿色* *r 红色- 实线c 亮青色: 点线m锰紫色-. 点虚线-- 虚线plot3 三维曲线作图图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴此外,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入门教程(2) 二维绘图

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 为相对的编号。
MATLAB应用第5章第2板

第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。
matlab绘图知识点总结

matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。
其基本语法为:plot(x, y)。
其中x是横轴坐标数据,y是纵轴坐标数据。
通过plot函数可以绘制折线图、散点图等。
2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。
其中x是条形的横轴坐标位置,y是条形的高度。
3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。
其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。
4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。
其中x是待绘制的数据,bins则是用来指定直方图的条形数目。
5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。
其中x和y分别是散点的横轴和纵轴坐标数据。
6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。
其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。
二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。
2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。
3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。
4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。
5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。
三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。
MATLAB学习笔记整理

MATLAB笔记摘录:1、clc 命令清空命令窗口(The Command Windows)中的内容,可以用clf 清空当前图象窗口中的内容。
在工作空间窗口(The workspace browser)中变量可用clear命令清除。
2、能用diary 命令记录下在MATLAB 中运行过程中每个线程所做的事。
3、常见编程错误如果变量名与MATLAB 中的函数或命令重名,那么这个函数或命令将不能被访问。
4、常见编程错误不要创建和MATLAB 内建函数或命令同名的M 文件。
5、—which 命令,它能帮助我们找到正在执行的文件版本和它的路径。
6、命令窗口是最重要的窗口,因为所有的命令都得在此键入,所有的结果在此输出7、MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31 个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。
如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待8、像MATLAB 这样的叫做弱类型语言。
通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。
9、。
有三种方式初始化MATLAB 中的变量:1.用赋值语句初始化变量2.用input 函数从键盘输入初始化变量3.从文件读取一个数据10、克隆运算符指定一系列的数值,它指定了这个系列数的第一值,步增和后一个值。
它的一般顺序始下first:incr:last11、捷径表达式可以联合转置运算符(’)来初始化行向量,或更加复杂的矩阵12、函数zeros 可以初始化任何大小的全为零的数组。
相似地,ones 函数产生的数组包含的元素全为1,eye 函数通常用来产生单位矩阵,只有对角线的元素为1.其他元素为0. 13、input 函数中有字符's'做为它的第二个参数,输入的数据就被当字符串. in2=input('enter data:','s') enter data:123 把字符串1.23 存储到in2 中.14、.数组,矩阵,向量有什么区别?答:矩阵是二维数组,向量是一维数组,矩阵和向量是数据的子集。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.基本绘图函数:2.Matlab绘图步骤3.plot(x,y,s) s是字符串,不同的字符串代表不同的线型plot(x1,y1,s1,x2,y2,s2,…..)是将多个图形或函数曲线拼接放置在同一个图形框中。
函数曲线的颜色、线型和数据点型上面左边的b代表蓝色,-.代表点线型,就是x取的各点之间的连线为-.,而x 取值的各个点的类型为空,就代表是默认的点型上面那个是r代表红色,--代表线型,而点型是*就是x取了多少个点,就多少个*,而*和*直接的连接为—上面的s里面的写法为:线型+颜色+点型线性为-.,颜色为k代表黑色,点型为h代表六角星型。
我们还可以不定义线性,为空,那么两个点之间就不连线了。
4.我们还可以定义曲线的颜色和线宽LineWidth:设定绘图曲线的粗细MarkerEdgeColor:数据点型或边界的颜色(圆形、菱形、六角星型等) MarkerFaceColor:数据点型的天聪颜色。
MarkerSize:数据点的大小从上可以看出:线型为--,颜色为r代表红色,点型为s代表方形,线的粗细为3,点标记的颜色为r代表红色,点标记的填充颜色为y代表黄色,点标记的大小为10.5.很多时候,需要在一张图上多次画多条曲线。
就需要hold函数:即图形保持命令,主要用于暂存当前的图形窗口,可以让用户继续在命令窗口中绘制其他函数图形,并且后续的图形曲线与当前窗口中的曲线在同一个图形界面中显示。
Hold函数不会因后面画的图形的坐标值不一样而改变当前坐标轴的定义范围。
Hold on函数:作用同上,但可以根据新的图形曲线的坐标轴极限值来自动调整当前坐标轴的坐标值。
Hold off函数:结束当前的图形保持状态,一般与Hold on匹配,hold off函数后就需要从新设置坐标轴的属性。
Hold All函数:保留当前的颜色和线型,这样在绘制后面的图形时就是用当前的颜色和线型。
这里x变换是从0—1我们通过hold on之后,就把后面的1—2的变换接上去了,效果很好。
现在通过hold on再接了一段,效果如上。
6.在进行数据统计时,使用传统的坐标系往往不能直观得看出统计模型的特征,在通常情况下,用户更多会选择对数坐标系来绘制图形。
在Matlab中,提供了loglog、semilogx和semilogy这3个函数来进行这方面的图形绘制。
Loglog是把x和y轴都采用了对数坐标轴,而semilogx和semilogy函数则是分别对x轴和y轴采用对数坐标。
上面这是采用双对数坐标上面是采用y轴对数,x轴普通上面这个是y轴普通,x轴对数。
7.在进行数值比较时,往往会遇到使用双纵坐标的情况,在Matlab中,提供了plotyy函数实现双坐标轴绘制二维图形,通过使用plotyy函数绘制的函数图形左右两段都显示y坐标轴。
Plotyy(x1,y1,x2,y2):这函数命令将x1和y1所对应的图形的纵坐标标注在图形的左边,而把x2和y2所对应的图形的纵坐标标注在图形的右边。
Plotyy(x1,y1,x2,y2,fun):不同的坐标系属性的选择,由参数fun进行设定fun可以为:@plot、@semilogx、@semilogy、@loglog等Plotyy(x1,y1,x2,y2,fun1.fun2):fun1所设定的坐标轴属性参数给左边的坐标轴绘制图形,fun2所设定的坐标轴属性参数给右边的坐标轴绘制图形。
下面这个是用fun函数来设定左边和右边的坐标不同。
8.在Matlab中,系统为用户提供了polar函数用于在极坐标下绘制图形:Polar(theta,rho):按照坐标的角度为theta,极半径为rho绘制图形。
Polar(theta,rho,s):s中增加了绘制图形的颜色和线型的定义。
9.特殊二维图形及命令函数:具体的使用可以参考matlab的help里面的function 10.bar函数绘制条形图:bar(y):主要用于为y中的每一元素绘制一个条状图bar(x,y):用于在指定的横坐标上绘制出y的图形bar(x,y,width):通过width来设定条形图的宽度,并控制每个条形图之间的距离,width默认为0.8bar(x,y,’style’)通过style来设定条形属性的类型,style参数的取值可以为group或者stack,其中参数group为默认的显示模式,如果y为n*m阶的矩阵,则bar函数显示n组,每一组有M个垂直条形的条形图。
Bar(x,y,’color’):color用来设定条形颜色10.p ie函数绘制饼图pie(x,explore):参数x表上饼图中各个部分所占有的比重,参数explore用’1’表上饼图中需要突出显示出来的部分,用0表示饼图中不需要突出表示出来的部分。
不难看出,explore与x同维。
Pie(x,label):这个命令主要用于绘制饼形图,label用于定义相应模块的标签。
11.h ist函数绘制条形直方图hist函数主要用于绘制二维条形直方图,可以直观地显示出数据的分布情况。
Hist(y):把向量y中的所有元素按照各自的数值放入与之对应范围的10个条形中,并且返回每个条形中元素的个数。
如果y为矩阵,则该命令将矩阵中的列放入与之对应范围条形图中。
Hist(y,x):将x作为向量,把y中的元素放到m个以x为中心的位置中去,而每一条形图也是以x为中心的,其中m=length(x).Rand函数产生10000个随机数12.o ntour函数绘制等高线contour(z):这个函数命令主要用于绘制矩阵z的等高线coutour(z,n):这个函数命令主要用于绘制矩阵z的等高线,并通过参数n设置等高线的条数coutour(z,v):v为向量,等高线条数等于该向量的长度,并且等高线的值为对应向量的元素值。
Coutour(x,y,z):主要用于绘制有关矩阵x、y、z的三维等高线Coutour(x,y,z,n)Coutour(x,y,z,v)Contourf函数和contour类似,但它可以进行填充。
13.q uiver函数绘制矢量图compass和quiver函数主要用于绘制矢量图或者速度图,描述向量场的形状compass(x,y):这个函数主要用于绘制等高线,显示极坐标图形中的极点发散出来的矢量图。
Quiver(x,y,u,v):这个函数在坐标轴(x,y)处用箭头图形绘制向量,(u,v)为相应点的速度分量,其中,x,y,u,v必须有相同的维数Quiver(x,y,u,v,scale):scale用于控制向量的长度。
14.离散型二维数据图在Matlab中,系统为我们提供了一些列用于表现离散型数据的函数,最为常用的便是:stem函数和stairs函数Stem(y):用于绘制y的数据序列,图形起始于x轴,并在每个数据点处绘制圆圈Stem(x,y):这个函数命令主要用于按照指定的x绘制数据序列yStairs(y):主要用于按照向量y的元素绘制出阶梯状图形Stairs(x,y):按照x绘制y梯形图形利用stem(x,y)函数来绘制函数y=x2+2x的离散函数图形利用stairs函数来绘制表达式f=e-at sin(bt)的梯形曲线图形,其中参数a=0.01,b=0.5Plot()主要用于绘制曲线的梯形离散图形15.我们经常用到的三维图形命令有:plot3函数、网格函数、着色函数Plot3(x,y,z):主要用于绘制三维图形,x,y,z为3个相同维数的向量Plot3(X,Y,Z):主要用于绘制三维图形,X,Y,Z为3个相同维数的矩阵Plot3(X,Y,Z,s):s用于定义线的样式Plot3(x1,y1,z1,s1,x2,y2,z2,s2…..)绘制复杂的三维图形:16.网格图形的绘制Matlab中的网络函数我们可以通过你meshgrid函数来生成图形的网格点。
Meshgrid函数的基本作用就是将给定区域内的图形按照一定方式划分为平面网格,这个平面网格可以用来绘制三维曲面图形。
一般情况下,用于在绘制三维图形钱,都要对作图区域内进行网格设置。
[x,y]=meshgrid(x,y)X和y是给定的向量,主要用来定义网格划分的区域空间,也可以用来定义网格划分的方法。
我们还可以使用mesh函数来绘制三维网格图形:Mesh(x,y,z,s):这个函数命令是通过4个矩阵参数x,y,z,s来绘制彩色的三维网格图形。
图形的颜色范围由参数s来定义。
Mesh(x,y,z):这个函数中,s=zMesh(x1,y1,z):使用向量x1和y1来代替矩阵x和y,这里需要满足:Length(x1)=n和length(y1)=m,而size(z)=[m,n]。
在这种情况下,网格线上的点由坐标(x(j),y(j),z(i,j))决定。
此外,向量x对应矩阵z的列,向量y对应矩阵z 的行。
Mesh(x,y,z,’propertyname’,’propertyvalue’):参数propertyname表示用于设置属性值的那个参数的参数名,而propertyvalue则表示用于设置参数属性值的那个参数的取值。
Peaks()是峰函数,peaks(30)是产生30×30的guassian分布矩阵17.隐藏坐标轴程序:Axis off18.利用mesh来绘制彩色三维网格图:Meshc函数在绘制出函数的三维图形的同时,还绘制出了函数表达式z2=x2+y2这个三维图形的等高线。
最下面的就是等高线meshz是在mesh的基础上绘制边界。
19.三维图形的着色函数:surfSurf是比较常用的三维图形处理函数Surf(x,y,z,s)20.瀑布网线图:我们可以使用waterfull函数来绘制形如瀑布流水的网络线。
21.用bar3绘制三维条形图:Bar3函数最简单的使用形式是将每一个元素以分离的三维条的形式表现出来,将每一列的元素按照y轴进行分布,其中,第1列的元素以x轴的1为中心进行分布,并以此类推。
5行3列,每一个长度都对应一个值22.利用cylinder绘制三维圆柱图[x,y,z]=cylinder:这命令将绘制一个半径为1,高度为1的圆柱体,x,y,z为三维立体的坐标轴,默认圆周上有20个距离相同的点。
[x,y,z]=cylinder(r):绘制半径为r,高度为1[x,y,z]=cylinder(r,n):绘制半径为r,高度为1,圆周上有n个距离相同的点。
Cylinder:这个函数命名不带有任何的参数,直接绘制出单位量的圆柱体,即圆柱体和高度都为123.利用pie3函数绘制三维饼图Pie3和pie函数语法一致。
24.坐标轴标注Xlabel(‘标注’,’属性1’,’属性2’,….)Title也是一样的25.我们可以使用text函数和gtext函数对图形进行文本形式的注释,使用text函数对图形进行标注时需要自定义一个用于注释的文本字符串和放置的位置,而gtext函数进行标注时,位置可以通过鼠标进行点击放置。