Matlab图形与图像处理(2.46

您所在的位置:网站首页 matlab界面字体大小 Matlab图形与图像处理(2.46

Matlab图形与图像处理(2.46

2023-03-25 20:07| 来源: 网络整理| 查看: 265

2.46 服从高斯分布的柱状数据图及极坐标下的柱状图

Y=randn(10000,1);%%随机函数定义10000行1列的正态分布的随机向量Y

subplot(1,2,1)

histogram(Y); %%绘制正态分布的随机向量Y的柱状图

title('高斯分布柱状图')

x=-3:0.1:3;

subplot(1,2,2)

h=histogram(Y,x); %%绘制设置边界的柱状图

set(h,'FaceColor','r')%%设置柱状图h的填充颜色为红色

title('指定范围的高斯分布柱状图')

theta=Y*pi;%%定义数据向量

polarhistogram(theta);%%输入函数绘制向量在极坐标下的柱状图,并显示弧度值

title('极坐标系下的柱状图')

2.47 抽取矩阵外的第一列第二列第三列,绘制垂直误差条

Y=[5 3 8;7 4 7;16 5 4;17 6 8;19 9 4;20 16 8];

Y1=Y(:,1)'%%抽取矩阵外的第一列并转置为行向量

Y2=Y(:,2)'

Y3=Y(:,3)'

(Y1,Y2,Y3)%%输入误差棒图,绘制Y2对Y1的线图,并在每个数据点处绘制一个长度为Y3的垂直对称误差条,误差条的总长度为Y3的两倍

2.48 绘制平方函数火柴杆图

X = linspace(0,1,50);

Y = X.^2;

stem(X,Y, 'LineStyle','-.',...%%火柴杆图命令,设置线性为点划线

'MarkerFaceColor','red',...%%标记的填充颜色为红色

'MarkerEdgeColor','yellow')%%标记的轮廓颜色为黄色

*******************************************************

​stem(Y) 将数据序列 Y 绘制为从沿 x 轴的基线延伸的针状图。各个数据值由终止每个针状图的圆指示。

如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)。

如果 Y 是矩阵,则 stem 将根据相同的 x 值绘制行中的所有元素,并且 x 轴的刻度范围是从 1 至 Y 中的行数。

​stem(X,Y) 在 X 指定的值的位置绘制数据序列 Y。X 和 Y 输入必须是大小相同的向量或矩阵。另外,X 可以是行或列向量,Y 必须是包含 length(X) 行的矩阵。

如果 X 和 Y 都是向量,则 stem 将根据 X 中的对应项绘制 Y 中的各项。

如果 X 是向量,Y 是矩阵,则 stem 将根据 X 指定的值集绘制 Y 的每列,这样 Y 的一行中的所有元素都是根据相同的值而绘制。

如果 X 和 Y 都是矩阵,则 stem 将根据 X 的对应列绘制 Y 的列。

stem(___,'filled') 填充圆。可以将此选项与前面语法中的任何输入参数组合一起使用。

​stem(___,LineSpec) 指定线型、标记符号和颜色。

​​stem(___,Name,Value) 使用一个或多个 Name,Value 对组参数修改针状图。

​stem(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

h = stem(___) 在 h 中返回由 Stem 对象构成的向量。使用 h 可在创建针状图后对其进行修改。

************************************************

使用省略号三个点(…)是将一条语句换行。

2.49 绘制余弦波叠加的阶梯图

x=(-pi:pi/20:pi)';%%绘制线性间隔值向量x

y =[0.5*cos(x),2*cos(x)];

stairs(y)%%输入阶梯图函数

text(10,2.2,'余弦波叠加的阶梯图','FontSize',16)%%在指定坐标点添加指定格式的文本,指定文本字号为16

****************************************

​stairs(Y) 绘制 Y 中元素的阶梯图。(1)​如果 Y 为向量,则 stairs 绘制一个线条。(2)如果 Y 为矩阵,则 stairs 为每个矩阵列绘制一个线条。 ​stairs(X,Y) 在 Y 中由 X 指定的位置绘制元素。输入 X 和 Y 必须是相同大小的向量或矩阵。另外,X 可以是行或列向量,Y 必须是包含 length(X) 行的矩阵。​ stairs(___,LineSpec) 指定线型、标记符号和颜色。例如,':*r' 指定带星号标记的红色点线。可以将此选项与前面语法中的任何输入参数组合一起使用。​ stairs(___,Name,Value) 使用一个或多个名称-值对组参数修改阶梯图。例如,'Marker','o','MarkerSize',8 指定大小为 8 磅的圆形标记。​ stairs(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。选项 ax 可以位于前面的语法中的任何输入参数组合之前。​ h = stairs(___) 返回一个或多个 Stair 对象。在创建特定 Stair 对象后,使用 h 更改该对象的属性。​ [xb,yb] = stairs(___) 不创建绘图,但返回大小相等的矩阵 xb 和 yb,以使 plot(xb,yb) 绘制阶梯图。

************************************************************************************

MATLAB中的字体修改:

xlabel:命名x轴的名字

ylabel:命名y轴的名字

legend:命名变量的名字

title:命名图片的标题

***标题的字体,大小都是默认的。但也都是可以调整的,包括字体大小字体颜色字体种类

FontSize:字体大小

FontName:字体种类

FontWeight:字体是否加粗

Color:字体颜色

***

FontSize:负责调整字体的大小,后面只要是正整数就可以。(想大就大,想小就小)。

FontWeight:控制字体加粗,默认不加粗。需要加粗设置' bold'

FontName:matlab中有一个默认字体。matlab支持几种字体类型,如:黑体,楷体,宋体,简雅黑。对于数字和字母,使用新罗马字体。

xlabel('横坐标','FontName','黑体')

xlabel('x','FontName','Time New Roman')

**************************************************************

text(10,2.2):定义标题在坐标轴上的起始横纵坐标

2.50 绘制指数函数的阶梯图

x=-2:0.1:2;

y=exp(x);

stairs(x,y)%%输入阶梯图函数

hold on%%图片保持命令,在原有图像上进行继续操作

plot(x,y,'--*')

hold off%%关闭保持命令

text(-1.8,1.8,'指数波的阶梯图','FontSize',14)

2.51 绘制随机矩阵的罗盘图

M = randn(20,20); %%创建一个正态分布的20*20的随机矩阵M

Z = eig(M);%%输入求特征值函数,求矩阵M的特征向量

h=compass(Z); %%输入罗盘图命令,绘制特征向量的罗盘图

h(1).LineStyle='-.'; %%利用点划线表示h的第1格的线型

h(1).Marker='h'; %%设置第一个箭头的标记样式为正六角星

title('罗盘图')

**********************************************************

eig函数:特征值和特征向量。

Z = eig(M):返回一个列向量,其中包含方阵M的特征值。

***********************************************************

compass函数:罗盘图

(1)compass(x,y)函数绘制一个由原点出发由(x,y)组成的向量箭头图形;

(2)compass(z)等价于compass(real(z),imag(z));

(3)compass(...,LineSpec)函数用参量LineSpec指定箭头的线型、标记符号、颜色等属性;

(4)h = compass(...)函数返回line对象的句柄给h。

************************************************************

h(1).LineStyle='-.'; %%利用点划线表示h的第1格的线型

h(1).Marker='h'; %%设置第一个箭头的标记样式为正六角星

2.52绘制魔方矩阵罗盘图的与羽毛图

M= magic(10);%%创建一个10阶的魔方矩阵M

subplot(1,2,1)

compass(M)%%输入罗盘图命令

title('罗盘图')

subplot(1,2,2)

feather(M) %%输入羽毛图命令

title('羽毛图')

***********************************************

魔方矩阵:M= magic(10);%%创建一个10阶的魔方矩阵M

****************************************************************

MATLAB中的特殊矩阵:

1.zeros函数:产生全0矩阵,即零矩阵。

2.ones函数:产生全1矩阵,即幺矩阵。

3.eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。

4.rand函数:产生(0,1)区间均匀分布的随机矩阵。

5.randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。

6.魔方矩阵(方阵、magic函数)

(1)n阶魔方阵由1,2,3…,n共n2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。

(2)n阶魔方阵每行每列元素的和为(1+2+3+…+n2) / n= (n+n3)/2。

(3)Matlab中 magic(n) 只产生一个特定的魔方阵,实际上当n大于2时可能有多个魔方阵存在。、

7.范德蒙矩阵(方阵、vander函数)

在Matlab中,函数vander(V)生成以向量V为基础的范德蒙矩阵。

8.希尔伯特矩阵(方阵、hilb函数)

9.伴随矩阵(方阵、compan函数)

Matlab生成伴随矩阵的函数是 compan(),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。

10.帕斯卡矩阵(方阵、pascal函数)

*****************************************************

feather函数:绘制羽毛图(速度向量图)

(1)feather(x,y) 函数绘制由向量参量x与y构成的速度向量,沿水平轴方向,从均匀间隔点以箭头发射出来;

(2)feather(z) 函数绘制羽毛图。参量z是一个复数,则feather(z)相当于compass(real(z),imag(z));

(3)feather(...,LineSpec) 函数绘制羽毛图。参量LineSpec指定的线型、标记符号、颜色等属性画出羽毛图;

(4)H = feather(...) 函数返回羽毛图中线型对象的句柄H。

2.53 绘制箭头图

x = linspace(0,1,100); %%100个元素

x = reshape(x,10,10); %%将向量x转换为10*10的矩阵

y = exp(x.^3+x.^2+x); %%利用矩阵x定义函数表达式y

u = cos(x).*y;%%定义u

v = sin(x).*y;%%定义v

quiver (x,y,u,v)%%输入箭头图函数,在x和y指定的坐标处,将u和v指定的向量定义成箭头

title('箭头图')

************************************************************

B = reshape(A, sz);

按矢量sz定义的维度(包括行数 列数 维数)重构矩阵A来得到矩阵B

先将矩阵A先排列成一列(结果感受就是按列优先排列),再按照矢量sz定义大小的行数切割

**************************************************************

***quiver()

在科研出图中,经常需要在底图上绘制流速图、受力图、磁场方向图等,而MATLAB正好拥有一个对应的quiver函数可以使用。本文以冰流速制图为例介绍quiver函数的使用和注意事项。

***quiver()功能

语法1:quiver(x,y,u,v)

这是quiver最常用的命令形式,表示在(x,y)位置上绘制向量(u,v)。(x,y)为箭头的起始坐标,(u,v)为箭头的方向矢量,sqrt(uu+vv)为物理量的大小,arctan(v/u)为物理量的方向。

语法2:quiver(x,y,u,v,scale)

数值scale是指箭头的放大缩小比例。在默认情况下,quiver命令会自动调整箭头的大小,以保证箭头之间不重叠。例如,scale为2时,表示箭头放大2倍,以此类推。

语法3:quiver(x,y,u,v,scale,‘LineSpec’)

'LineSpec’表示绘制箭头的颜色、线型、 标志样式。例如’LineSpec’为’y’时,表示箭头显示为黄色。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3