MATLAB绘图及例子总结

MATLAB绘图及例子总结

二维图

例 1

X1=[1,2,4,6,7,8,10,11,12,14,16,17,18,20];
Y1=[1,2,4,6,7,8,10,10,8,7,6,4,2,1];
figure(1)
plot(X1,Y1,'o','MarkerSize',15)
X2=1:20;
Y2=log(X2);
figure(2)
plot(X2,Y2,'o','MarkerSize',15)

结果:

例 2

X1=(0:12)*pi/6;
Y1=cos(3*X1);
X2=(0:360)*pi/180;
Y2=cos(3*X2);
figure(1)
subplot(2,2,1);
plot(X1,Y1,'o','MarkerSize',3); % 设置标准尺寸为3
xlim([0 2*pi]) % 补充知识点xlim
% x轴上下限设定xlim([a,b]);
% y轴上下限设定ylim([a,b])
subplot(2,2,2);
plot(X1,Y1,'LineWidth',2); % 设置线宽度为2
xlim([0 2*pi])
subplot(2,2,3);
plot(X2,Y2,'o','MarkerSize',3);
xlim([0 2*pi])
subplot(2,2,4);
plot(X2,Y2,'LineWidth',2);
xlim([0 2*pi])

结果:

例 3

x=-pi/2:0.01:pi/2;
y=x+sin(x)+exp(x);
plot(x,y,'-ro'); % 颜色红色
grid on % 网格
title('y的函数图像');
xlabel('x');
ylabel('y');
legend('y=x+sinx+e^(x)');

结果:

例 4

A=magic(20);
A(9:20,:)=[];
figure(1);
plot(A);
for i=1:5
    for j=1:6
        B(i,j)=i+j;
    end
end
x=0.2:0.2:1;
figure(2)
subplot(2,2,1);plot(B,x,'LineWidth',1.5);
subplot(2,2,2);plot(x,B,'LineWidth',1.5);
C=reshape(1:30,5,6); % 变换成特定维数5×6的矩阵
subplot(2,2,3);plot(B,C,'LineWidth',1.5);
subplot(2,2,4);plot(C,B,'LineWidth',1.5);

结果:

例 5

x=-pi:pi/10:pi;
y=tan(sin(x))-sin(tan(x));
plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
% MarkerFaceColor:点符号填充颜色
% MarkerEdgeColor:点边框颜色

结果:

例 6

clear all
x=-pi:pi/10:pi;
y=[sin(x);sin(x+3);sin(x+5)];
z=[cos(x);cos(x+3);cos(x+5)];
figure;
plot(x,y,'r:*',x,z,'g-.v');
% r是红色,:是点线,*是星号标记
% g是绿色,-.是点画线,v是倒三角形

结果:

例 7

% 绘制双坐标轴
figure
angl=0:0.01*pi:2*pi;
ampl=sin(0:0.01*pi:2*pi);
z=ampl.*(cos(angl)+sqrt(-1)*sin(angl));
[AX,H1,H2]=plotyy(0:200,abs(z),0:200,angle(z)*180/pi);
% angle用来求复数矩阵相位角的弧度值,其取值为-pi到pi,z是一个复数,abs(z)是复数的模
set(get(AX(1),'Ylabel'),'String','amplitude') % amplitude振幅
set(get(AX(2),'Ylabel'),'String','phase')   % phase阶段
% get返回某些对象属性的当前值
set(H1,'LineWidth',3);
set(H2,'LineStyle',':','LineWidth',3)

结果:

例 8

% x轴对数坐标
x=10.^(0.1:0.1:4);
y=1./(x+1000);
figure
subplot(1,2,1);
semilogx(x,y,'+','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^{-1}')
subplot(1,2,2);
plot(x,y,'+','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^{-1}')
% y轴对数坐标同理

结果1:

% x轴和y轴均为对数坐标
a=0.1:0.1:5;
x=log10(a);
y=10.^a;
figure
subplot(1,2,1)
loglog(x,y,'+','MarkerSize',5,'LineWidth',2)
title('lgy=10^x')
subplot(1,2,2)
plot(x,y,'+','MarkerSize',5,'LineWidth',2)
title('lgy=10^x')

结果2:

例 9

y=[75.995,91.972,105.711,123.203,131.669...
150.697,179.323,203.212,226.505,249.633,281.422];
figure;
bar(y);

结果:

例 10

x=-2:2;
Y=[6,8,7,4,5;4,8,1,12,0;4,6,21,1,3];
subplot(1,2,1),bar(x',Y','stacked')
xlabel('x'),ylabel('\Sigma y'),colormap(cool)
legend('因素 1','因素 2','因素 3')
subplot(1,2,2),barh(x',Y','grouped') % barh创建水平直方图
xlabel('y'),ylabel('x')

结果:

例 11

x=[1,5,0.5,3.5,2];
explode=[0,1,0,0,0];
pie(x,explode) % 饼图
colormap jet
figure
pie3(x,explode)
colormap hsv

结果:

例 12

x=-4:0.1:4;
y=randn(5000,1);
hist(y,x) % 直方图

结果:

例 13

clear
figure;
x=[1,5,6,7,9,5,1,3,12,20];
y=[20,15,6,3,1,5,3,0,1,5];
subplot(121);
scatter(x,y); % 散点图
subplot(122);
scatter(x,y,[],[1,0,0],'fill');

结果:

三维图

例 1

theta=0:0.01*pi:2*pi;
x=sin(theta);
y=cos(theta);
z=cos(4*theta);
figure
plot3(x,y,z,'LineWidth',2);hold on;
theta=0:0.02*pi:2*pi;
x=sin(theta);
y=cos(theta);
z=cos(4*theta);
plot3(x,y,z,'rd','MarkerSize',10,'LineWidth',2)

结果:

例 2

X=-10:0.1:10;
Y=-10:0.1:10;
[X,Y]=meshgrid(X,Y);
Z=-X.^2-Y.^2+200;
mesh(X,Y,Z)

结果:

例 3

figure
surf(X,Y,Z,'FaceColor','red','EdgeColor','none');
camlight left; % 左侧加一个发光物体
lighting phong % 光照模式,使图表面光滑细腻,色彩丰富
view(-15,65) % 视角的角度

结果:

例 4

···
[X,Y,Z]=peaks(30); %peaks函数是一个典型的多元函数,本质上是一个二元高斯分布的概率密度函数
subplot(1,2,1);surfl(X,Y,Z),colormap(copper),title(‘Default Lighting‘),shading interp
subplot(1,2,2);surfl(X,Y,Z,[-90,30],[.55,.6,2,10]),shading interp
···
结果:

例 5

% 等高线图
[X,Y,Z]=peaks(30);
figure
subplot(2,2,1);contour(X,Y,Z);axis square
subplot(2,2,2);contour(X,Y,Z,10);axis square
subplot(2,2,3);contour(X,Y,Z,-10:1:10);axis square
subplot(2,2,4);contour(X,Y,Z,':');axis square

结果:

例 6

[X,Y,Z]=peaks(30);
R=sqrt(X.^2+Y.^2);
subplot(1,2,1);
surf(X,Y,Z,Z);
axis tight
subplot(1,2,2);surf(X,Y,Z,R);
axis tight

结果:

原文地址:https://www.cnblogs.com/fangxiaoqi/p/11306248.html

时间: 2024-11-09 05:43:45

MATLAB绘图及例子总结的相关文章

MATLAB绘图相关

plot函数用于绘图 ①最简单的matlab绘图即为plot(x,y) 例如: x=0:50; y=0:50; plot(x,y) ②复杂点的,在一个坐标系中绘制出多条曲线. x1=0:50; y1=0:50; y2=2*x1; plot(x1,y1,x2,y2) ③在复杂点,设置每个曲线的线形.==':r' x1=0:50; y1=0:50; y2=2*x1; plot(x1,y1,'-k',x2,y2,':r'); ======线性选择: plot函数可以接一些参数,来改变所画图像的属性(颜

Matlab绘图总结1

Matlab绘图总结1 ps.此文由matlab自动生成 Contents 概述 2D绘图plot 设置标题,xy轴标签及网格 改变图形窗口背景 绘制多个曲线在一个图上 改变线形及标记 坐标轴(axis)控制 图例 legend 双坐标轴图形绘制 - plotyy 概述 matlab有着比较强的绘图功能,在进行计算后处理时,使用matlab绘图有着origin等绘图软件无法比拟的优点.但matlab需要比较多的代码编辑,导致许多人宁愿使用origin也不用matlab. 实际上,在科学制图领域,

Matlab绘图基础

平台:Win7 64 bit,Matlab R2014a(8.3) Matlab绘图功能强大,本文以"图解Matlab绘图"的形式介绍Matlab绘图的常用元素. 1.以图识图 在Matlab中新建一个矩阵,在左侧工作区窗口中选中这个变量,点击菜单"绘图",即可以查看Matlab的各种图形: 点击"显示更多"小箭头: 点击左下角"目录"按钮: 从这里可以看到所有Matlab的图形.另外,从Matlab R2014a帮助文档的&

matlab绘图--线性规划图解法示意

matlab绘图--线性规划图解法示意 图解法 matlab绘图 区域填充 线性规划问题: matlab绘图 L1=[4,0;4,4]; plot(L1(:,1),L1(:,2));hold on  text(4.1,3.5,'x_1=4','color','b');  L2=[0 3;5 3];  plot(L2(:,1),L2(:,2));hold on  text(0.8,3.1,'x_2=3','color','b');  L3=[0 2.4;5 0.4];  plot(L3(:,1),

Matlab绘图详解

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的每个图形元素(如坐标轴.曲线.文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分. 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介

(转载)MatLab绘图

转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html plot选项: 一 基础功能 二维图形 一. plot函数① 函数格式:plot(x,y)  其中x和y为长度相同                     坐标向量     函数功能:以向量x.y为轴,绘制曲线. [例] 在区间0≤X≤2?内,绘制正弦曲线y=si

使用axes函数在matlab绘图中实现图中图的绘制

使用axes函数在matlab绘图中实现图中图的绘制 有时为了对细节进行详细说明,需要在一个较大坐标轴上绘制一个小图来对局部进行放大以阐述结果. 这可以通过调用axes函数实现. 下面通过绘制 y=1/(t-3) 的曲线举例说明该函数的使用方法. 程序如下: clc;clear;close all;                                                                                                    

简单的 "双缓冲" 绘图的例子(研究一下)

所谓双缓冲就是先画到内存画布(如: TBitmap), 然后再转帖到目的地. 譬如下面小程序: procedure TForm1.FormCreate(Sender: TObject); begin   Timer1.Interval := 100;   Color := clWhite; end; procedure TForm1.Timer1Timer(Sender: TObject); begin   Canvas.Pen.Color := Random($FFFFFF);   Canva

Matlab绘图高级部分

转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html 图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来.尤其在论文的撰写中,优雅的图形无疑会为文章加分.本篇文章非完全原创,我的工作就是把见到的Matlab绘图代码收集起来重新跑一遍,修改局部错误,然后将所有的图贴上来供大家参考.大家可以先看图,有看中的可以直接把代码Copy过去改成自己想要的. 1 2 3 4 5 6 7 8 9 10 1