MATLAB学习之画图(一)
MATLAB学习之画图(一)
最近在学习MATLAB画图部分,把最近学习的心得写下来,顺便看看自己掌握的程度。
首先,MATLAB的画图功能十分强大且操作较为简单,能够画出各种图形。正因为如此,大部分论文中的图像都是由MATLAB画出的。
plot()
plot()函数是画一个2维图像,通过查看plot()的帮助文档我们可以看到plot()有以下几种形式:
Syntax |
---|
plot(X,Y) |
plot(X,Y,LineSpec) |
plot(X1,Y1,…,Xn,Yn) |
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn) |
plot(Y) |
plot(Y,LineSpec) |
plot(___,Name,Value) |
plot(ax,___) |
h = plot(___) |
plot(X,Y)说明
plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。
如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。
如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。
如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。
示例
我们用MATLAB画一个sin(t)函数,代码如下:
t=0:0.02:2*pi;%t从0到2*pi之间每0.02取一个点f=sin(t);plot(t,f);
画出图像如下:
如果我们要画出sin(t)和sin(2t)大家很容易就会想到如下方式:
t=0:0.02:2*pi;%t从0到2*pi之间每0.02取一个点f1=sin(t);
f2=sin(2*t);plot(t,f1);
plot(t,f2);
然而执行的结果却只有sin(2t)的图像,如下所示:
会出现这种情况是因为MATLAB的figure是默认会被覆盖的,如果想在一个figure中显示两个曲线有两种方法:
(1).利用hold on和hold off,代码如下:
t=0:0.02:2*pi;%t从0到2*pi之间每0.02取一个点f1=sin(t);
f2=sin(2*t);hold on;
plot(t,f1);
plot(t,f2);
hold off;
只需在要准备画图像前加一个hold on,在结束是加一个hold off就能把图像在一个figure中显示出来;
(2).利用plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn),代码如下所示:
t=0:0.02:2*pi;%t从0到2*pi之间每0.02取一个点f1=sin(t);
f2=sin(2*t);plot(t,f1,'ok',t,f2,'--g');
我们只需要在同一个plot中把所有需要画的曲线写出来就可以了,可能有些人会问我后面的’ok‘,’–g’是什么玩意。这其实是你的line的表示方式,通过查看plot帮助文档我们可以看到下表:
Specifier | Line Style |
---|---|
- | Solid line (default) |
– | Dashed line |
: | Dotted line |
-. | Dash-dot line |
Specifier | Marker |
---|---|
o
|
Circle |
+
|
Plus sign |
*
|
Asterisk |
.
|
Point |
x
|
Cross |
s
|
Square |
d
|
Diamond |
^
|
Upward-pointing triangle |
v
|
Downward-pointing triangle |
>
|
Right-pointing triangle |
<
|
Left-pointing triangle |
p
|
Pentagram |
h
|
Hexagram |
Specifier | Color |
---|---|
y
|
yellow |
m
|
magenta |
c
|
cyan |
r
|
red |
g
|
green |
b
|
blue |
w
|
white |
k
|
black |
Line Style是指曲线的风格,是以直线-的方式还是以虚线–等;maker指取样点的表示方式,是以圆圈表示还是以点表示等;Color指曲线的颜色。因此我上面的’ok‘指sin(t)取样点表示为圆圈,颜色为黑色;’–g’指sin(2t)曲线为虚线,颜色为绿色显示。
plot()其他的问题可以参考plot()的帮助文档。
Legend()
通过上面的学习我们基本了解MATLAB的画图,但有时我们在一个figure中显示的曲线过多时,很难分辨每一个曲线表示的函数,因此我们就需要Legend()函数来帮助我们表示。
参考以下程序:
x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'-ro',x,y2,'-.b');
legend('sin(x)','cos(x)');
如图所示,我们画出的正弦和余弦函数,并分别用了不同的表示方法来表示,最后的legend(‘sin(x)’,‘cos(x)’);就是用来显示右上角,用来区别两条曲线。legend()会按照plot()中的先后来分别表示出来曲线。
title()和?Label()
通过上面的plot()和legend()我们已经可以画出一个不错的图像,然而在真正画图的时候还缺少两个重要的东西就是标题、X轴和Y轴的意义。因此我们就用到了title()和XLabel()和YLabel()函数,title()就是用来显示图像的标题,XLabel()用来控制X轴的参数,YLabel()用来控制Y轴的参数。
参考以下程序:
x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');
其中x轴表示0到2*pi,y轴表示sin(x)和e(x)的曲线,标题为sin(t)和e()的函数,其中\pi表示转义字符,让pi显示
为
,详情可参考xlable
因为时间关系,今天就更新到这里。
MATLAB学习之画图(一)相关推荐
- matlab分段函数怎么画图_从零开始的matlab学习笔记——(17)其它实用的绘图工具...
matlab应用--求极限,求导,求积分,解方程,函数绘图....更多内容尽在个人专栏:matlab学习 上一节我们简单了解了一下matlab绘图,这一节我们看一下参数方程,隐函数,极坐标等图像绘制. ...
- MATLAB学习笔记(二)
MATLAB学习笔记(二) 一.矩阵运算 矩阵分析 向量和矩阵的范数运算 矩阵的秩 矩阵的化零矩阵 矩阵的化简rref()函数 线性方程组 超定线性方程组求解 矩阵分解 1.对称正定矩阵的Choles ...
- linspace函数matlab_从零开始的matlab学习笔记——(29)泰勒逼近函数
matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图....更多内容尽在个人专栏:matlab学习 上一节我们成功制作了能自己转圈的三维螺旋线,这里我们再来 ...
- MATLAB学习笔记——二维和三维绘图
MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...
- Matlab学习记录 1
文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...
- matlab 求向量的交集_从零开始的matlab学习笔记——(16)函数绘图
matlab应用--求极限,求导,求积分,解方程,函数绘图....更多内容尽在个人专栏:matlab学习 这一节开始我们正式进入函数绘图,内容比较繁杂,我尽量把它整合的简洁一些. 单一图像: 首先我们 ...
- matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
matlab应用--求极限,求导,求积分,解方程....更多内容尽在个人专栏:matlab学习 上一节我们算是简单了解了一下怎么用matlab解方程,这一节我么再回到多项式与符号计算. 符号计算中的多 ...
- B站台湾大学郭彦甫|MATLAB 学习笔记|06 高阶绘图 Advanced Plot
MATLAB学习笔记(06 高阶绘图 Advanced Plot) 如果想获得更好浏览体验的朋友可以转到下面链接 06 1. 对数图 (Logarithm Plots) x = logspace(-1 ...
- B站台湾大学郭彦甫|MATLAB 学习笔记|13 统计 Statistics__Data_Analysis
MATLAB学习笔记(13 统计 Statistics_&_Data_Analysis) 如想获得更好体验,可以转到下面链接:13 文章目录 MATLAB学习笔记(13 统计 Statisti ...
最新文章
- php实现基于shmop扩展的数据缓存
- getReadableDatabase与getWritableDatabase的区别
- 几大科技公司在VR方面的布局是怎么样的?
- KEIL-MDK编译错误问题解决办法
- jsoncpp去掉多余字符_Python超详细的字符串用法大全
- 向github传项目
- JAVA 多用户商城系统b2b2c- 服务消费者(rest+ribbon)
- 渗透测试web安全 - webshell 免杀 绕过waf总结
- 软件工程 可行性分析与需求分析
- 马氏距离Mahalanobis Distance实例
- c++工程师历年企业笔试真题汇总
- 明星热图|童瑶、周迅、易烊千玺、张新成签约新品牌;李宇春、陈飞宇参加品牌活动...
- Qt-Q_OBJECT宏及控件提升导致的类重定义问题
- 让我在这枯燥的实验室机房里,告诉你们什么是嵌入式软件开发
- 蕴含存在的意义到底是什么
- 章节十四:Scrapy框架
- 20轮廓-hu不变矩的测试程序
- 一个菜鸟实习生的月总结
- Matlab学习-常用命令技巧
- http://localhost:8080/product/save找不到访问路径