MATLAB图像生成函数Plot()总结
一、基本形式
(1)>> y=[0 0.58 0.70 0.95 0.83 0.25];
>> plot(y)
生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。
(2)>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值
>> y=sin(x);
>> plot(x,y)
生成的图形是上30个点连成的光滑的正弦曲线。
二、多重线
(1)在同一个画面上可以画许多条曲线,只需多给出几个数组:
>> x=0:pi/15:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,x,y2)
(2)利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如:
>>x=linspace(0,2*pi,30); y=sin(x); plot(x,y)
>>hold on
>>z=cos(x); plot(x,z)
>>hold off
三、线型和颜色
MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:
(1)线型线方式: - 实线 :点线-. 虚点线 - - 波折线。
(2)线型点方式: . 圆点 +加号* 星号 x x形 o 小圆
(3)颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.
以下面的例子说明用法:
>>x=0:pi/15:2*pi;
>>y1=sin(x); y2=cos(x);
>>plot(x,y1,’b:+’,x,y2,’g-.*’)
四、改变坐标轴
(1)网格和标记
在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。
>>x=linspace(0,2*pi,30); y=sin(x); z=cos(x);
>>plot(x,y,x,z)
>>grid
>>xlabel(‘Independent Variable X’)
>>ylabel(‘Dependent Variables Y and Z’)
>>title(‘Sine and Cosine Curves’)
(2)在坐标轴加字符:
>>text(2.5,0.7,’sinx’)
表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令:
>>gtext(‘sinx’)
在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。
(3)坐标系的控制
在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:
axis([xminxmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值
axisequal 或 axis(‘equal’) x轴和y轴的单位长度相同
axissquare 或 axis(‘square’) 图框呈方形
axisoff 或 axis(‘off’) 清除坐标刻度
还有axis autoaxis image axis xy axis ij axis normal axis on axis(axis)
用法可参考在线帮助系统。
五、多幅图形
(1)可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如
>> x=linspace(0,2*pi,30); y=sin(x);z=cos(x);
>> u=2*sin(x).*cos(x);v=sin(x)./cos(x);
>> subplot(2,2,1),plot(x,y),axis([02*pi –1 1]),title(‘sin(x)’)
>> subplot(2,2,2),plot(x,z),axis([02*pi –1 1]),title(‘cos(x)’)
>> subplot(2,2,3),plot(x,u),axis([02*pi –1 1]),title(‘2sin(x)cos(x)’)
>> subplot(2,2,4),plot(x,v),axis([02*pi –20 20]),title(‘sin(x)/cos(x)’)
(2)图形的输出
在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法:
首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。
基本xy平面绘图命令
MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制、列印及存档。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线:
closeall; 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('InputValue'); % 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 |
向量场图 |
以下我们针对每个函数举例。
当资料点数量不多时,长条图是很适合的表示方式:
closeall; % 关闭所有的图形视窗
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个 =0,=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);
Specifying Tick-Mark Location and Labeling
You can adjust the axis tick-mark locationsand the labels appearing at each tick. For example, this plot of thesine function relabels the x-axis with more meaningful values:
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
MATLAB图像生成函数Plot()总结相关推荐
- matlab 图像操作函数的详解
转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...
- matlab 图像坐标系
matlab 图像中图像坐标系与plot. imrotate坐标系的区别 图像坐标系是以图像左上角为原点,访问图像像素点img(m,n),如下图所示: plot的坐标系,以图像左上角为原点,在图像中划 ...
- matlab图形编辑,matlab绘制图形plot属性编辑
matlab绘制图形plot属性编辑 matlab绘制图形plot属性编辑 使用plot绘制图形函数,设置其中的图形参数,包含线条颜色,粗细,线条类型. x=1:15; y=x.^3; 方法一 是在p ...
- matlab 把图像变成二维的,matlab图像怎么变成二维矩阵
求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...
- matlab 图像接缝_接缝雕刻算法似乎是无法调整图像大小的方法
matlab 图像接缝 介绍(Introduction) In this article, we will be taking a deep dive into an interesting algo ...
- matlab图像取反_matlab对图像操作函数的详解
一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...
- R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色、改变图像(plot)区域的背景色
R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色.改变图像(plot)区域的背景色 目录
- matlab图像融合评价,MATLAB 图像融合评估算法
MATLAB 图像融合评价算法 function laplacian(ori_A,ori_B) path(path,'FusionEvaluation/') %Ori_A = imread('cloc ...
- 【Matlab 图像】滤波器原理使用及测试效果
滤波器使用及测试效果 滤波器1:低通滤波 原理 代码 效果 滤波器2:高斯平滑 原理 代码 效果 滤波器3:自适应中值滤波 原理 代码 效果 滤波器4:维纳滤波 原理 代码 效果 滤波器5:最大值滤波 ...
- 【Matlab 图像】边缘检测算法及效果演示
[Matlab 图像]边缘检测算法及效果演示 边缘检测 检测图像中的边缘 Matlab 代码 代码效果如下 边缘算法:robert 边缘算法:sobel prewitt 边缘算法:laplacian ...
最新文章
- mysql源码如何解析where字句_MySQL解析器源码分析--对select语句中子查询处理逻辑的分析(一)...
- php图片等比例压缩,php实现图片上传并等比例压缩
- 21个令程序员泪流满面的瞬间【第二弹】
- 的注册表怎么才能删干净_油烟净化器怎么清洗才能清理干净呢?
- mybatis-plus+springboot+vue+element-ui实现分页
- udf iso9660 java_ISO和UDF光盘格式、扩展ISO9660----Joliet和Romeo文件系统
- iphone电压测试软件,电压电击iPhone结果会怎样? 通过测试后, 照样可以正常开机...
- 直播流播放器 html,rtmp直播视频流播放器(ckplayer)使用方法
- 服务器fs改变文件内容,SeaweedFS文件系统
- 服务器虚拟机装nas,nas虚拟主机(nas为什么要装虚拟机)
- python 英语分词_python实现英文文本分词
- OpenStack Days China Day 2:厨子与食客的热恋
- 《黄花黄》古诗词引用摘录
- c语言编程设计实验课件,c语言程序设计实验课件.ppt
- Python之文件的读写
- stm32 + RN8209C单相计量芯片使用心得
- 【Nodejs】Nodejs入门必知
- 前端面试合集(更新中……)
- 《美国新闻与世界报道》公布2021年全球最佳大学排行榜
- SQL Server集群
热门文章
- [转]体验:VC++ .NET 2003 –安装和使用STLport 4.5.3 和LokiPort
- 【转】如何在windows平台开发OpenGL程序使用OpenGL1.2或更高版本
- 【递推】1193:吃糖果
- 20175322 周弋鸿 2018-2019-2 《Java程序设计》第八周学习总结
- 这3分钟的习惯改变了我的生活
- Isim你不得不知道的技巧(整理)
- 蓝懿iOS培训日志22 图册
- 使用管理员权限运行的程序无法浏览网络驱动器的问题
- Redis protected-mode属性解读
- ios 进入后台 一段时间在进入前台 动画消失