一、散点图

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];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。

plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别按顺序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式:

plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)

plot(…,'PropertyName',PropertyValue,…) 对所有的用plot生成的line图形对象中指定的属性进行恰当的设置。

h = plot(…) 返回line图形对象句柄的一列向量,一线条对应一句柄值。

说明  参数LineSpec

功能  定义线的属性。Maltab允许用户对线条定义如下的特性:

1.线型

表7-1

定义符

-

--

-.

线型

实线(缺省值)

划线

点线

点划线

2.线条宽度

指定线条的宽度,取值为整数(单位为像素点)

3.颜色

表7-2

定义符

R(red)

G(green)

b(blue)

c(cyan)

颜色

红色

绿色

兰色

青色

定义符

M(magenta)

y(yellow)

k(black)

w(white)

颜色

品红

黄色

黑色

白色

4.标记类型

表7-3

定义符

+

o(字母)

*

.

x

标记类型

加号

小圆圈

星号

实点

交叉号

定义符

d

^

v

>

<

标记类型

棱形

向上三角形

向下三角形

向右三角形

向左三角形

定义符

s

h

P

标记类型

正方形

正六角星

正五角星

5.标记大小

指定标记符号的大小尺寸,取值为整数(单位为像素)

6.标记面填充颜色

指定用于填充标记符面的颜色。取值在上表。

7.标记周边颜色

指定标记符颜色或者是标记符(小圆圈、正方形、棱形、正五角星、正六角星和四个方向的三角形)周边线条的颜色。取值在上表。

在所有的能产生线条的命令中,参数LineSepc可以定义线条的下面三个属性:线型、标记符号、颜色进行设置。对线条的上述属性的定义可用字符串来定义,如:plot(x,y,'-.or')

结合x和y,画出点划线(-.),在数据点(x,y)处画出小圆圈(o),线和标记都用红色画出。其中定义符(即字符串)中的字母、符号可任意组合。若没有定义符,则画图命令plot自动用缺省值进行画图。若仅仅指定了标记符,而非线型,则plot只在数据点画出标记符。

1.基本画图

程序如下:

view plaincopy to clipboardprint?
  1. x=0:pi/1000:2*pi;
  2. y1=sin(2*x);
  3. y2=2*cos(2*x);
  4. %输出图像
  5. plot(x,y1,'k-',x,y2,'b--');
  6. title(' Plot of f(x)=sin(2x) and its derivative');
  7. %设置X坐标和Y坐标的标签
  8. xlabel('x');
  9. ylabel('y');
  10. %制作图例
  11. legend('f(x)=sin(2x)','d/dx f(x)')
  12. %显示网格
  13. grid on;

x=0:pi/1000:2*pi; y1=sin(2*x); y2=2*cos(2*x); %输出图像 plot(x,y1,'k-',x,y2,'b--'); title(' Plot of f(x)=sin(2x) and its derivative'); %设置X坐标和Y坐标的标签 xlabel('x'); ylabel('y'); %制作图例 legend('f(x)=sin(2x)','d/dx f(x)') %显示网格 grid on;

显示结果:

2.利用有限个点画出平滑曲线

view plaincopy to clipboardprint?
  1. x=1:1:10;
  2. y=[1,4,8,10,11,11.5,12,7,5,1];
  3. xx=1:0.01:10;
  4. %使用了函数interp1
  5. yy=interp1(x,y,xx,'cublic');
  6. plot(xx,yy,x,y,'.');
  7. grid on;

x=1:1:10; y=[1,4,8,10,11,11.5,12,7,5,1]; xx=1:0.01:10; %使用了函数interp1 yy=interp1(x,y,xx,'cublic'); plot(xx,yy,x,y,'.'); grid on;

3.绘制三维曲线

view plaincopy to clipboardprint?
  1. t=0:pi/100:20*pi;
  2. x=sin(t);
  3. y=cos(t);
  4. z=t.*sin(t).*cos(t);
  5. plot3(x,y,z);
  6. title('Line in 3-D Space');
  7. xlabel('X');ylabel('Y');zlabel('Z');
  8. grid on;

t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on;

4.绘制三维曲面

view plaincopy to clipboardprint?
  1. [x,y]=meshgrid(-8:0.5:8);
  2. z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);
  3. subplot(2,2,1);
  4. mesh(x,y,z);
  5. title('mesh(x,y,z)')
  6. subplot(2,2,2);
  7. meshc(x,y,z);
  8. title('meshc(x,y,z)')
  9. subplot(2,2,3);
  10. meshz(x,y,z)
  11. title('meshz(x,y,z)')
  12. subplot(2,2,4);
  13. surf(x,y,z);
  14. title('surf(x,y,z)')

[x,y]=meshgrid(-8:0.5:8); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps); subplot(2,2,1); mesh(x,y,z); title('mesh(x,y,z)') subplot(2,2,2); meshc(x,y,z); title('meshc(x,y,z)') subplot(2,2,3); meshz(x,y,z) title('meshz(x,y,z)') subplot(2,2,4); surf(x,y,z); title('surf(x,y,z)')

标准三维曲面:

view plaincopy to clipboardprint?
  1. t=0:pi/20:2*pi;
  2. [x,y,z]= cylinder(2+sin(t),30);
  3. subplot(2,2,1);
  4. surf(x,y,z);
  5. subplot(2,2,2);
  6. [x,y,z]=sphere;
  7. surf(x,y,z);
  8. subplot(2,1,2);
  9. [x,y,z]=peaks(30);
  10. surf(x,y,z);

t=0:pi/20:2*pi; [x,y,z]= cylinder(2+sin(t),30); subplot(2,2,1); surf(x,y,z); subplot(2,2,2); [x,y,z]=sphere; surf(x,y,z); subplot(2,1,2); [x,y,z]=peaks(30); surf(x,y,z);

其他函数:

view plaincopy to clipboardprint?
  1. subplot(2,2,1);
  2. bar3(magic(4))
  3. subplot(2,2,2);
  4. y=2*sin(0:pi/10:2*pi);
  5. stem3(y);
  6. subplot(2,2,3);
  7. pie3([2347,1827,2043,3025]);
  8. subplot(2,2,4);
  9. fill3(rand(3,5),rand(3,5),rand(3,5), 'y' )

subplot(2,2,1); bar3(magic(4)) subplot(2,2,2); y=2*sin(0:pi/10:2*pi); stem3(y); subplot(2,2,3); pie3([2347,1827,2043,3025]); subplot(2,2,4); fill3(rand(3,5),rand(3,5),rand(3,5), 'y' )

绘制多峰函数的瀑布图和等高线图:

view plaincopy to clipboardprint?
  1. subplot(1,2,1);
  2. [X,Y,Z]=peaks(30);
  3. waterfall(X,Y,Z)
  4. xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');
  5. subplot(1,2,2);
  6. contour3(X,Y,Z,12,'k');     %其中12代表高度的等级数
  7. xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');

subplot(1,2,1); [X,Y,Z]=peaks(30); waterfall(X,Y,Z) xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); subplot(1,2,2); contour3(X,Y,Z,12,'k'); %其中12代表高度的等级数 xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');

5.图形修饰处理

三种图像着色方式效果显示:

view plaincopy to clipboardprint?
  1. [x,y,z]=sphere(20);
  2. colormap(copper);
  3. subplot(1,3,1);
  4. surf(x,y,z);
  5. axis equal
  6. subplot(1,3,2);
  7. surf(x,y,z);shading flat;
  8. axis equal
  9. subplot(1,3,3);
  10. surf(x,y,z);shading interp;
  11. axis equal

[x,y,z]=sphere(20); colormap(copper); subplot(1,3,1); surf(x,y,z); axis equal subplot(1,3,2); surf(x,y,z);shading flat; axis equal subplot(1,3,3); surf(x,y,z);shading interp; axis equal

光照处理后的球面:

view plaincopy to clipboardprint?
  1. [x,y,z]=sphere(20);
  2. subplot(1,2,1);
  3. surf(x,y,z);axis equal;
  4. light('Posi',[0,1,1]);
  5. shading interp;
  6. hold on;
  7. plot3(0,1,1,'p');text(0,1,1,' light');
  8. subplot(1,2,2);
  9. surf(x,y,z);axis equal;
  10. light('Posi',[1,0,1]);
  11. shading interp;
  12. hold on;
  13. plot3(1,0,1,'p');text(1,0,1,' light');

[x,y,z]=sphere(20); subplot(1,2,1); surf(x,y,z);axis equal; light('Posi',[0,1,1]); shading interp; hold on; plot3(0,1,1,'p');text(0,1,1,' light'); subplot(1,2,2); surf(x,y,z);axis equal; light('Posi',[1,0,1]); shading interp; hold on; plot3(1,0,1,'p');text(1,0,1,' light');

图形的裁剪处理:

view plaincopy to clipboardprint?
  1. [x,y]=meshgrid(-5:0.1:5);
  2. z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);
  3. subplot(1,2,1);
  4. surf(x,y,z);shading interp;
  5. title('裁剪之前');
  6. i=find(x<=0&y<=0);
  7. z1=z;z1(i)=NaN;
  8. subplot(1,2,2);
  9. surf(x,y,z1);shading interp;
  10. title('裁剪之后');

[x,y]=meshgrid(-5:0.1:5); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(1,2,1); surf(x,y,z);shading interp; title('裁剪之前'); i=find(x<=0&y<=0); z1=z;z1(i)=NaN; subplot(1,2,2); surf(x,y,z1);shading interp; title('裁剪之后');

从文件载入图像:

view plaincopy to clipboardprint?
  1. [x,cmap]=imread('flower.jpg');  %读取图像的数据阵和色图阵
  2. image(x);colormap(cmap);
  3. axis image off    %保持宽高比并取消坐标轴

[x,cmap]=imread('flower.jpg'); %读取图像的数据阵和色图阵 image(x);colormap(cmap); axis image off %保持宽高比并取消坐标轴

制作动画:

view plaincopy to clipboardprint?
  1. [X,Y,Z]=peaks(30);
  2. surf(X,Y,Z)
  3. axis([-3,3,-3,3,-10,10])
  4. axis off;
  5. shading interp;
  6. colormap(hot);
  7. m=moviein(20);            %建立一个20列大矩阵
  8. for i=1:20
  9. view(-37.5+24*(i-1),30)      %改变视点
  10. m(:,i)=getframe;            %将图形保存到m矩阵
  11. end
  12. movie(m,2);                 %播放画面2次

1.2.命令 scatter(x1,y,50,c,'o','filled')

二、一元线性回归

2.1.命令 polyfit最小二乘多项式拟合

[p,S]=polyfit(x,y,m)

多项式y=a1xm+a2xm-1+…+amx+am+1

其中x=(x1,x2,…,xm)x1…xm为(n*1)的矩阵;

y为(n*1)的矩阵;

p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数;

S是一个矩阵,用来估计预测误差.

2.2.命令 polyval多项式函数的预测值

Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;

p是polyfit函数的返回值;

x和polyfit函数的x值相同。

2.3.命令 polyconf 残差个案次序图

[Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间DELTA;alpha缺省时为0.05。

p是polyfit函数的返回值;

x和polyfit函数的x值相同;

S和polyfit函数的S值相同。

2.4 命令 polytool(x,y,m)一元多项式回归命令

2.5.命令regress多元线性回归(可用于一元线性回归)

b=regress( Y,  X )

[b, bint,r,rint,stats]=regress(Y,X,alpha)

b 回归系数

bint 回归系数的区间估计

r 残差

rint 残差置信区间

stats 用于检验回归模型的统计量,有三个数值:相关系数R2、F值、与F对应的概率p,相关系数R2越接近1,说明回归方程越显著;F > F1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p 时拒绝H0,回归模型成立。

Y为n*1的矩阵;

X为(ones(n,1),x1,…,xm)的矩阵;

alpha显著性水平(缺省时为0.05)。

三、多元线性回归

3.1.命令 regress(见2。5)

3.2.命令 rstool 多元二项式回归

命令:rstool(x,y,’model’, alpha)

x 为n*m矩阵

y为 n维列向量

model 由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):

linear(线性):

purequadratic(纯二次):

interaction(交叉):

quadratic(完全二次):

alpha 显著性水平(缺省时为0.05)

返回值beta 系数

返回值rmse剩余标准差

返回值residuals残差

四、非线性回归

4.1.命令 nlinfit

[beta,R,J]=nlinfit(X,Y,’’model’,beta0)

X 为n*m矩阵

Y为 n维列向量

model为自定义函数

beta0为估计的模型系数

beta为回归系数

R为残差

J

4.2.命令 nlintool

nlintool(X,Y,’model’,beta0,alpha)

X 为n*m矩阵

Y为 n维列向量

model为自定义函数

beta0为估计的模型系数

alpha显著性水平(缺省时为0.05)

4.3.命令 nlparci

betaci=nlparci(beta,R,J)

beta为回归系数

R为残差

J

返回值为回归系数beta的置信区间

4.4.命令 nlpredci

[Y,DELTA]=nlpredci(‘model’,X,beta,R,J)

Y为预测值

DELTA为预测值的显著性为1-alpha的置信区间;alpha缺省时为0.05。

X 为n*m矩阵

model为自定义函数

beta为回归系数

R为残差

J

五、其它

命令 grid on

命令 axis(坐标轴)([0  60  0  0.025])

命令 figure 弹出新的画图窗口

命令 获取矩阵的某行某列

x(n,:); 获取矩阵的第n行

x(:,n); 获取矩阵的第n列

命令 rcoplot

画出残差及其置信区间:rcoplot(r,rint)

glmfit 一般线性模型拟合  

regstats 回归统计量诊断 

regstats(responses,DATA,'model')'

stats = regstats(responses,DATA,'model','whichstats')

'Q'Q from the QR Decomposition of X

'R'R from the QR Decomposition of X

'beta'Regression Coefficients 'covb'Covariance of Regression Coefficients

'yhat'Fitted Values of the Response Data

'r'Residuals

'mse'Mean Squared Error

'leverage'Leverage 'hatmat'Hat (Projection) Matrix 's2_i'Delete-1 Variance 'beta_i'Delete-1 Coefficients 'standres'Standardized Residuals 'studres'Studentized Residuals 'dfbetas'Scaled Change in Regression Coefficients 'dffit'Change in Fitted Values 'dffits'Scaled Change in Fitted Values 'covratio'Change in Covariance 'cookd'Cook's Distance 'all'Create all of the above statistics

命令 bar(条图)

命令 pie(饼图)

命令 hist(直方图)

命令 help

命令 mean(平均值)

命令 inv(逆概率分布)

命令 pdf(密度)

命令 cdf(分布函数)

命令 stat(均差与方差)

命令rnd(随机函数)

命令 std(标准差)

命令 var(方差)

命令 median(中位数)

命令 skewness(偏度)

命令 kurtosis(峰度)

命令 norm(正态分布)

命令 t(t分布)

命令 f(f分布)

命令 chr2(x2分布)

命令 poiis(泊松分布)


matlab作图里面如何分别设置双纵坐标的刻度 
需要设置y轴的刻度,用到以下函数, 
set(gca,'XTick',[0:5:100])                          %设置x轴间隔 

set(gca,'yTick',[0:10:350])                         %设置y轴间隔  
双纵坐标的标注已实现 
[AX]=plotyy(x1,y1,x1,y2); 
set(get(AX(1),'Ylabel'),'string','left Y-axis‘);           %标注左边y轴 

set(get(AX(2),'Ylabel'),'string','right y-axis');          %标注右边y轴    
双坐标画图实例 
x = 0:0.01:20; 
y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); [AX]=plotyy(x1,y1,x1,y2); 
得到两个axes句柄,AX(1)和AX(2) 
set(AX(1),'yTick',[0:10:350])                  %设置左边Y轴的刻度

set(AX(2),'yTick',[0:10:350])                 %设置右边Y轴的刻度

[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');

set(AX(1),'XColor','k','YColor','b');              %设置左坐标轴颜色 

set(AX(2),'XColor','k','YColor','r'); 
HH1=get(AX(1),'Ylabel');                     %得到左边坐标轴句柄 

set(HH1,'String','Left Y-axis');                  %标注左边坐标轴 

set(HH1,'color','b');                           
HH2=get(AX(2),'Ylabel');             
set(HH2,'String','Right Y-axis');                 %标注左边坐标轴 set(HH2,'color','r'); 
set(H1,'LineStyle','-');                         %设置曲线特性 set(H1,'color','b');

set(H2,'LineStyle',':'); set(H2,'color','r'); 

MATLAB画图命令zz相关推荐

  1. [Matlab] 画图命令

    matlab画图命令,不定时更新以便查找 set(gcf, 'color', [1 1 1]); % 使图背景为白色 alpha(0.4); %设置平面透明度 plot(Circle1,Circle2 ...

  2. matlab画图命令fplot,matlab绘图方法fplot

    Matlab 中 plot. fplot .ezplot 用法与区别函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的.也就是 说,使用 plot 函数之前,必须..... ...

  3. Matlab最实用画图命令整理(包括Print输出SCI论文高清大图!)

    Matlab最实用画图命令整理 1.关于 gcf 和 gca 2.画多个子图(subplot),以4个子图为例 3.关于figure的一些设置命令整理 4.关于坐标轴显示的设置 5.imagesc函数 ...

  4. matlab画图(plot)命令

    原创 xiaotao_1 最后发布于2018-01-18 19:55:25 阅读数 56917 收藏 发布于2018-01-18 19:55:25 分类专栏: matlab 版权声明:本文为博主原创文 ...

  5. Matlab画图-非常具体,非常全面

    Matlab画图 强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数. ...

  6. 2021-01-20 Matlab画图技巧与实例:堆叠图stackedplot

    Matlab画图技巧与实例:堆叠图stackedplot 在MATLAB线图中,一共有3种类型,分别是 线图,包括:plot,plot3,stairs,errorbar,area,stackedplo ...

  7. matlab画图入门篇--各种基本图形绘制的函数与实例【转载】

    MATLAB画图入门篇--各种基本图形绘制的函数与实例 一. 二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plo ...

  8. 用matlab画图的好处,用matlab画图注意事项

    问题 开始用matlab画图时,使用默认设置,画出来的图不好看 比如,这段代码 x=0:0.1:10; y1=sin(x); y2=sin(x+3); plot(x,y1,x,y2) xlabel(' ...

  9. matlab调节字体的函数,matlab 画图添加图例时,改变图例中字体大小

    matlab 画图时,在图形中添加图例要用到 legend 函数.还有一些图例属性可以调整,例如改变图例位置用到 'Location':改变图例中文字大小需要用到 'Fontsize'. 一般情况下, ...

最新文章

  1. 重写selenium 的 click()操作,使得脚本更稳定
  2. Mysql总结(二)
  3. 史上最简单MySQL教程详解(进阶篇)之存储引擎介绍及默认引擎设置
  4. python有哪些常用的库
  5. oracle asm 删除diskgroup,ASM磁盘组删除DISK操作
  6. R中根据匹配原则将一列拆分为几列的方法
  7. 构建数据库云管平台 实现数据价值最大化
  8. identcurrent mysql_MYSQL库内所有表名及表结构获取
  9. mysql+rsyslog,loganalyzer+mysql+rsyslog中央日志服务器对syslog的web管理
  10. 软件测试模型-敏捷模型
  11. Informix数据库安装配置
  12. 看完这一篇,在leetcode上双指针法题目你随便做!
  13. [ExtJs4.0]数据从excle2003导入到数据库【2-1】
  14. xampp错误: mysql 非正常关闭._mysql数据库DBA实用技巧--为你的数据库开启Innodb监控...
  15. 学妹QQ被盗!我连夜用Python制作密码强度检查器!
  16. Java习题练习:1299 String
  17. 纯c++实现光线追踪渲染器
  18. visual Studio2008试用版过期升级正式版的破解方法
  19. python深度学习代码列子
  20. CCNP知识点总结——OSPF

热门文章

  1. 客制化键盘键位修改_可以用很漂亮形容的一把键盘,差一步就完美
  2. Window10:不能建立到远程计算机的连接。你可能需要更改此连接的网络设置。
  3. 飞畅科技-工业以太网交换机的差异性
  4. 工业级POE交换机技术优势及供电方法详解!
  5. 网管交换机怎么设置?网管交换机设置方法
  6. 【渝粤教育】国家开放大学2018年春季 0269-21T文学概论 参考试题
  7. 【渝粤题库】国家开放大学2021春2227物业设备设施管理题目
  8. java手动回收_浅谈java是如何做资源回收补救的
  9. 蓝桥杯单片机基础学习00_2
  10. c php乱码,php分割GBK中文乱码的解决方法