基本xy平面绘图命令

MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。本节将介绍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函数即可:

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*');

小整理:plot绘图函数的叁数
字元 颜色 字元 图线型态
y 黄色 .
k 黑色 o
w 白色 x x
b 蓝色 + +
g 绿色 * *
r 红色 - 实线
c 亮青色 : 点线
m 锰紫色 -. 点虚线
-- 虚线

图形完成後,我们可用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还有其他各种二维绘图函数,以适合不同的应用,详见下表。

小整理:其他各种二维绘图函数
bar 长条图
errorbar 图形加上误差范围
fplot 较精确的函数图形
polar 极座标图
hist 累计图
rose 极座标累计图
stairs 阶梯图
stem 针状图
fill 实心图
feather 羽毛图
compass 罗盘图
quiver 向量场图

以下我们针对每个函数举例。

当资料点数量不多时,长条图是很适合的表示方式:

close all; % 关闭所有的图形视窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做资料的误差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

对於变化剧烈的函数,可用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);

对於大量的资料,我们可用hist来显示资料的分 情况和统计特性。下面几个命令可用来验证randn产生的高斯乱数分 :

x=randn(5000, 1); % 产生5000个 m=0,s=1 的高斯乱数

hist(x,20); % 20代表长条的个数

rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:

x=randn(1000, 1);

rose(x);

stairs可画出阶梯图:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可产生针状图,常被用来绘制数位讯号:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs将资料点视为多边行顶点,并将此多边行涂上颜色:

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);

http://shumozxf.blog.sohu.com/60503705.html

matlab平面绘图命令相关推荐

  1. MATLAB常用绘图命令

    创建新的绘图窗口: figure 2; plot(...); figure 3; plot(...); 在同一窗口中绘制多幅图: subplot(2,2,1); plot(...); subplot( ...

  2. MATLAB符号绘图——相见恨晚的MATLAB绘图命令

    MATLAB符号绘图--相见恨晚的MATLAB绘图命令 1. fplot函数 fplot3函数 ezpolar函数 还有一些其他的符号绘图命令 MATLAB的绘图功能可谓非常的强大,常用的有plot, ...

  3. Day9--MATLAB常用绘图命令

    MATLAB是一个很强大的软件,在自动控制领域也是使用非常广泛,本系列博文将基于控制系统仿真进行,参考书籍<MATLAB/Simulink与控制系统仿真>,该系列博文与笔者的自动控制理论( ...

  4. matlab设置xyz,matlab基本XYZ立体绘图命令

    基本XYZ立体绘图命令 在科学目视表示(Scientific visualization)中,三度空间的立体图是一个非常重要的技巧.本章将介绍MATLAB基本XYZ三度空间的各项绘图命令. mesh和 ...

  5. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  6. 第六章:MATLAB:二维绘图(plot绘图命令 fplot命令 ezplot命令 不同的坐标系)

    第六章:二维绘图 6.1. 二维绘图 6.1.1. plot绘图命令: 6.1.2. fplot绘图命令: 6.1.3. ezplot绘图命令: 6.2. 不同坐标系下的绘图命令: 6.2.1. 极坐 ...

  7. matlab怎么设clim,matlab绘图命令

    Matlab绘图命令 1.fill/patch 功能用颜色填充二维多边形. 用法fill(X,Y,C) 用x和y中的数据生成多边形,用c指定的颜色填充它. 其中c为色图向量或矩阵.若c是行向量,则要求 ...

  8. matlab meshc函数_有那些相见恨晚的MATLAB绘图命令

    有那些相见恨晚的MATLAB绘图命令 MATLAB的绘图功能可谓非常的强大,常用的有plot,plot3,subplot,scatter等等,这些函数有许多的参数设置,可以画出各种需求的图.但是这些强 ...

  9. MATLAB二元隐函数绘图命令fimplicit3详解

    一.引言 fimplicit3功能是绘制二元隐函数的曲面图形. 类似于一元函数分为显函数和隐函数,二元函数也有显函数和隐函数之分.形如z=f(x,y)的二元函数称为显函数,而由三元方程f(x,y,z) ...

最新文章

  1. UITableView模版
  2. Attention! .net 持久层正式发布 :Noebe
  3. [转载]datatable中只取前7条数据
  4. Android之SharedPreferences详解
  5. XHTML标准下的100%高度问题
  6. 软件工程到底是干嘛的....
  7. 德语语言文学考研c1,2015-2016同济大学德语语言文学初试考研经验(下)
  8. 服务器linux启动,Linux 服务器环境启动
  9. [Robot Framework] User Guide : 如何自己创建library
  10. [codevs1378]选课
  11. linux内核模块的程序结构
  12. 美国太空部队加入美国情报系统,以确保太空的安全
  13. (丘维声)高等代数课程笔记:商空间
  14. VBA实战(6) - 数组
  15. IDEA 插件开发 - 创建自定义私有仓库
  16. 手机基于蓝牙JDY-31蓝牙模块与52单片机串口通信
  17. 我说Java完全面向对象,老大过来就是一jio
  18. opengl fbo 纹理 开发步骤
  19. 人脸识别智能服务器,智能化人脸识别服务器
  20. Github项目分享——Vue随机刷装备小游戏

热门文章

  1. 我用 PyTorch 复现了 LeNet-5 神经网络(自定义数据集篇)!
  2. MindSpore!这款刚刚开源的深度学习框架我爱了!
  3. Python8:logging Module
  4. [OS复习]存储管理1
  5. [OS复习]进程互斥与同步2
  6. TWebBrowser禁止弹出Alert对话框
  7. 对PE文件进行十六进制代码(机器码)提取并保存到外部文件
  8. 看懂堆排序——堆与堆排序(三)
  9. 关于JTAG——韦东山嵌入式Linux视频学习笔记02
  10. [BX] 和 loop 指令---汇编学习笔记