Matlab-plot绘图
plot函数
形式
- plot(a,’-s’)如果a是实数矩阵,则以序列[1,2,3,…]为其横坐标,以各列为纵坐标绘图。曲线的数目与a的列数相同。字符s控制曲线线型和颜色,宽度等。如果a是复数矩阵,则分别以各列的实部和虚部为横纵坐标画曲线。
- plot(a,b,’s’)若a,b为同维矩阵,则分别以a的各列为横坐标,以b的各列为纵坐标绘图。曲线条数为a,b的列数。若a为列向量,b为行数与a相同的矩阵,则以a为横坐标,分别以b的各列为纵坐标绘图。
- plot(a1,b1,’s1’,a2,b2,’s2’,…)分别以a1,b1构图,以a2,b2构图。
字符控制
| 字母 | 颜色 | 标点 | 线型 |
|---|---|---|---|
| y | 黄色 | . | 点线 |
| m | 粉色 | 。 | 圈线 |
| r | 亮蓝 | × | ×线 |
| g | 绿色 | + | +线 |
| b | 蓝色 | - | 实线 |
| w | 白色 | * | 星形线 |
| k | 黑色 | -.- | 点划线 |
常用的图形标记函数
| 函数名 | 功能 |
|---|---|
| title | 为图形加标题 |
| xlabel | 为x轴加标注 |
| ylabel | 为y轴加标注 |
| text | 为图形加文本注释 |
| gtext | 用鼠标放置文本 |
| grid | 加网格线 |
下面给出一个例子:用M文件绘制图像:
x=0:pi/30:2*pi;
y1=x.^2;
y2=10*sin(x);
plot(x,y1,'.r',x,y2,'-y');
grid
xlabel('Variable x')
ylabel('Variable y')
title('x^2 and sin(x)');
text(6.2,-5.5,'sin(x)');
text(6.2,16,'x^2');
subplot命令——拆分窗口
用subplot(m,n,p)命令,可以在同一个画面上面建立几个坐标系,把一个画面拆分成m×n个图形区域,p代表当前的区域号,每个区域可以对应一个独立的图。
例如,在一个窗口内绘制y=ex,y=log(x),y=sin(x),y=cos(x)的图像。
x=0:pi/30:2*pi;
y1=exp(x);
y2=log(x);
y3=sin(x);
y4=cos(x);
subplot(2,2,1)
plot(x,y1)
grid
xlabel('Variable x')
ylabel('Variable y')
title('exp(x)');
subplot(2,2,2)
plot(x,y2)
xlabel('Variable x')
ylabel('Variable y')
title('log(x)');
subplot(2,2,3)
plot(x,y3)
xlabel('Variable x')
ylabel('Variable y')
title('sin(x)');
subplot(2,2,4)
plot(x,y4)
xlabel('Variable x')
ylabel('Variable y')
title('cos(x)');
绘图结果为:(fig1) 
其他常见命令
| 函数 | 功能 |
|---|---|
| fill | 绘制并填充二维图形 |
| ginput | 鼠标获取坐标,[a,b,butkey]=ginput,a为x轴坐标,b为y轴坐标,button值代表鼠标被按下的那个键 |
| box | 控制图形的边框,box off可以关闭图形边框 |
| semilogx | 自变量的对数作为x轴 |
| semilogy | 因变量的对数作为y轴 |
| loglog | 双对数图 |
| plotyy | 双y轴图形 |
| axis | 控制坐标轴的刻度 |
| axis equal | 输出图形的x,y等长 |
| axis off | 关闭坐标轴的显示,可产生不含坐标轴的图形 |
| figure | 打开新的绘图窗口进行绘图 |
三维绘图plot3
一般格式为plot(x1,y1,z1,s1,x2,y2,z2,s2,….,xn,yn,zn,sn)
view()函数可以改变三维图形的观察点。
例如:绘制如下函数的图形:x=e−0.1tcos(t),y=e−0.1tsin(t),z=t.
clear all
clc
t=0:pi/30:8*pi;
x=exp(-0.1*t).*cos(t);
y=exp(-0.1*t).*sin(t);
z=t;
subplot(2,2,1),plot3(x,y,z),grid on
title('(x,y,z)的三维图a');
subplot(2,2,2),plot3(x,y,z),grid on,view([0,0,1])
title('从(0,0,1)观察a');
subplot(2,2,3),plot3(x,y,z),grid on,view([0,1,0])
title('从(0,0,1)观察a');
subplot(2,2,4),plot3(x,y,z),grid on,view([1,0,0])
title('从(0,0,1)观察a');
mesh()和contour()命令
[x,y]=meshgrid(x,y)
mesh(X,Y,Z):为数据点绘制网格线,X,Y,Z分别为三维空间的坐标位置。
contour(X,Y,Z):二维等高线,X,Y,Z分别为三维空间的坐标位置。
contour3(X,Y,Z,n):三维等高线,X,Y,Z分别为三维空间的坐标位置,n为等高线的条数。
下面是一个例子:
clear all
clc
x=-2:1:2;y=-1:1:2;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
subplot(2,2,1),mesh(X,Y,Z),grid on
title('网格图a');
subplot(2,2,2),mesh(X,Y,Z),view([0,30]),grid on
title('在方位角0°和视角30°处观察图a');
subplot(2,2,3),contour(X,Y,Z)
title('二维等高线');
subplot(2,2,4),contour(X,Y,Z,10)
title('三维等高线');
Matlab-plot绘图的更多相关文章
- MATLAB——PLOT绘图
MATLAB——PLOT绘图 格式化绘图: 1.color: b g r c m y k w blue green red cyan magenta yellow black white 2.ty ...
- MATLAB plot 绘图的一些经验,记下来,facilitate future work
[转载请注明出处]http://www.cnblogs.com/mashiqi 2016/03/28 % 调整figure的位置scrsz = get(0,'ScreenSize'); % 这个命令是 ...
- matlab的绘图保存
matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的.Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工 ...
- VS2015调用matlab Plot函数
最近经常采用Matlab仿真,然后C语言实现,最后需要将计算结果使用Qt的qwt或者matlab中的plot函数绘图. 因此想借用matlab的plot函数接口,使用VS2015来编写信号处理代码,最 ...
- 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来
最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...
- plot绘图
plot绘图 坐标系图(折线图) 折线图用于显示随时间或有序类别的变化趋势 plt.plot(x,y,format_string,**kwargs) y:Y轴数据,列表或数组,必选 x:X轴数据,列表 ...
- 【matlab 基础篇 03】一文带你全面了解 plot 绘图函数的使用(超详细+图文并茂)
快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 文章目录 1 前言 2 plot 2.1 显示正弦波 2.2 修改颜色 2.3 修改点的形状 2.4 修改线的形状 ...
- Matlab高级绘图
http://blog.csdn.net/haizimin/article/details/50372630 图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形 ...
- Matlab——plot polyfit polyval
p=polyfit(x,y,m) 其中, x, y为已知数据点向量, 分别表示横,纵坐标, m为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中. y0=polyval(p ...
- (matlab)plot画图的颜色线型(转)
http://wenku.baidu.com/link?url=SVVMVH8QlDIu2hVKDtoBYs6l0CnQvFnFHJJ9yexmYVKQqhz47qIr7aK7LOf8nN0qNdy8 ...
随机推荐
- 13.Python略有小成(装饰器,递归函数)
Python(装饰器,递归函数) 一.开放封闭原则 软件面世时,不可能把所有的功能都设计好,再未来的一两年功能会陆续上线,定期更新迭代,软件之前所用的源代码,函数里面的代码以及函数的调用方式一般不 ...
- github版本库使用详细教程(命令行及图形界面版)
Git是一个分布式的版本控制系统,作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选 ...
- 《SQL 进阶教程》 case:练习题1-1-2 转换行列——在表头里加入汇总列
select case when sex = 1 then '男性' else '女性' end as '性别', sum(case when name='哈尔滨' THEN population e ...
- XHR的跨域请求和JSONP详解
首先:什么是跨域? Cross Domain Request:从一个资源请求另一个资源,二者所在的请求地址不同,域名不同.端口号不同.请求协议不同. 它是由浏览器的同源策略造成的,是浏览器对JavaS ...
- Codeforces 1163D(kmp、dp)
要点 \(dp[i][j][k]\)表示主串已经到第\(i\)位时,\(s\)匹配在\(j\)位.\(t\)匹配在\(k\)位的最大得分 本来就要试填一层循环,如果转移也写在循环里的化复杂度承受不了, ...
- Table行合并操作
此方法不可取,但几天心血 保留,已有新想法,稍后会出一个完善的Table行列合并方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- c++笔记1
using namespace std:命名空间可以保证一些命名能够在全局不冲突.如用户可以通过声明命名空间,然后用运算符::区别同名的不同变量 using namespace std;namespa ...
- AD中添加中文字符丝印的方法:
一 一般中文丝印: 用快捷键L打开层管理,在View options中勾选convert special 选项: 用快捷键P,S文本中输入你要的汉字,选中ture type,在select ture ...
- D. Restructuring Company 并查集 + 维护一个区间技巧
http://codeforces.com/contest/566/problem/D D. Restructuring Company time limit per test 2 seconds m ...
- c#的Lambda 表达式
首先看官方的说法: Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式 ...