图形绘制。
俗话说“一图胜万语”,在科学研究、工程上有图则一目了然,无图搭配则很难窥得全貌,这也是一般工程偏重于图说的原因。而matlab提供了强大的图形功能,利用程序与绘图的结合,可以将结果计算以图形展示,有助于了解计算过程及分析计算结果,这在科学、工程中都非常重要。
在matlab中绘制图形,通常采用一下7个步骤:
1、准备数据。准备好绘图需要的横纵坐标变量数据。
2、设置当前绘图区。在指定的位置创建新的绘图窗口,并自动以此窗口为当前绘图区。
3、绘制图形。创建坐标轴,指定叠加绘图模式,绘制函数曲线上。
4、设置图形中曲线和标记点格式。设置图形中的线宽、线型、颜色和标记点的形状、大小和颜色等。
5、设置坐标轴和网格线属性。将坐标轴的范围设置在指定曲线上。
6、标注图形。对图形进行标注,包括在图形中添加标题、坐标轴标注、文字标注等。
7、保存和导出图形。按指定文件格式、属性保存或导出图形以备后续使用。
从图的特性分类,可分为块状图、柱状图、点示图、线示图等,就其空间而言,又可分为二维、三维图,前者取其实用性,后者取其美观性。下面以等高线图为例。等高线图最常用于显示多元函数的函数值变化趋势。
等高线图绘制函数contour使用实例。
在文件编辑器中输入命令如下:
z=peaks绘制peaks图形。
subplot(2,1,1) ;contour(z) %绘制peaks图形等高线图。
subplot(2,1,2); c,h]=contour(z,[3.8 1.5]);clabel(c,h) %标注,如图1
figure新建图形窗口。
subplot(2,1,1) ;c,h]=contour(z,4); clabel(c,h)%标注等高线图中的函数值。
subplot(2,1,2); contourf(z,4如图2
三维等高线绘制应用实例。绘制下列函数的曲面及其对应的三维等高线:
在m文件编辑器中输入如下**:
x=-3:0.25:3; y=x; [x,y]=meshgrid(x,y);
z=3*(1-x).^2.*exp(-(x.
^2)-(y+1).^2)-10*(x/5-x.^3-y.
^5).*exp(-x.^2-y.
^2)-1/3*exp(-(x+1).^2-y.^2定义函数关系。
subplot(2,2,1); mesh(x,y,z绘制网格曲面图。
xlable('x') ylabel('y');zlabel('z') title('peaks函数图形')
subplot(2,1,2); c,h]=contour3(x,y,z); clabel(c,h); 绘制等高线并标记。
xlabel('x') ylabel('y');zlabel('z') title('peaks函数的三维等高线')
保存并执行程序后,结果如图3所示。图1图2
图3图像处理。
在matlab中,一幅图像可能包含一个数据矩阵,也可能包含一个颜色映射表矩阵,matlab中有4种基本图像类型:索引图像、灰度图像、rgb图像、二值图像。这4种基本图像类型还可以进行转换。
图像类型转换,许多图像处理工作都对图像类型有特定的要求。例如,要对一幅索引图像滤波,首先必须将它转换成真彩图像,否则结果是毫无意义的。matlab的图像处理工具箱提供了许多图像类型转换函数,来实现索引图像、灰度图像、真彩图像及二值图像之间的各种转换,以下面的例子为例:
将一幅灰度图像转换成一幅索引图像。
在m文件编辑器中输入程序**如下:
i=imread('将图像格式文件读入。
x,map]=gray2ind(i,60将灰度图像转换成索引图像。
subplot(1,2,1);imshow(i);title('原图像');
subplot(1,2,2);imshow(x,map);title('转换后的图像显示图像。
执行程序后,原图与转换后的图像如图4
图4在图像处理和显示过程中,为了能够正确地使用颜色,需要建立颜色模型。颜色模型是三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。常用的颜色模型有rgb、hsv、ntsc和ycbcr。
它们之间也可以相互转换。下面以真彩图转换为hsv为例:
在m文件编辑器中输入程序**如下:
rgb=imread(''将图像格式文件读入为matlab图像对象数组数据。
hsv=rgb2hsv(rgb真彩图像转换为一个hsv模型空间对应的图像。
i=hsv(:,1);
subplot(1,2,1); subimage(rgb); title('原图像。
subplot(1,2,2); subimage(i); title('变换後的图像');
显示结果如图5
图5利用图像写回命令对图像文件进行编辑,实例如下:
a=imread(''
b=a(200:300,200:300,:)
imwrite(b,'
c=imread('
subplot(1,2,1)
image(a);axis image;title('全部')
subplot(1,2,2)
image(c);axis image;title('部分')
图像显示结果如图6图6总结。
matlab提供了强大的图形图像处理功能,可以对图形图像进行一系列的运算,有助于了解处理过程及利用数据分析计算结果,这在航天航空,生物医学,通信工程,军事工程,机器人视觉,电子商务等方面中都非常重要。
matlab作业
2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...
matlab作业
matlab语言 第3次作业 字符串,单元数组和结构体 专业 海洋技术 海洋测绘方向 姓名 张体强学号 1026222 1 如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。1....
matlab作业
电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...