• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab绘图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.二维曲线

(1)plot函数

①plot函数的基本用法:plot(x,y),其中x和y分别用于存储x坐标和y坐标数据。

②最简单的plot函数调用格式:plot(x)
当plot函数的参数x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。

③plot(x,y)函数参数的变化形式
当x为向量,y为矩阵时,
若矩阵y的列(行)数等于x的长度,则以向量x为横坐标,以y的每个行(列)向量为纵坐标绘制曲线,曲线的条数等于y的行(列)数。
当x,y为同型矩阵时,以x、y的对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

④含多个输入函数的plot函数
plot(x1,y1,x2,y2,…,xn,yn)

⑤含选项的plot函数:plot(x,y,选项)

x = linspace(0,2*pi,100)\';
y1 = 2*exp(-0.5*x)* [1,-1];
y2 = 2*exp(-0.5*x).* sin(2*pi*x);
x1 = 0 : 0.5 : 6;
y3 = 2*exp(-0.5*x1).* sin(2*pi*x1);
plot(x,y1,\'k:\',x,y2,\'b--\',x1,y3,\'rp\')

(2)fplot函数

①fplot(f,lims,选项)
其中,f代表一个函数,通常采用函数句柄的形式。Lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]。选项定义与plot函数相同。
例如,绘制sin(1/x)的图形
>>fplot(@(x)sin(1./x),[0,0.2],’b’)

②双输入函数参数的用法(给定函数为参数方程形式)
fplot(funx,funy,tlims,选项)
其中,funx、funy代表函数,通常采用函数句柄的形式。tlims为参数函数funx和funy的自变量取值范围,用二元向量[tmin,tmax]描述(默认[-5,5])。

2.绘制图形的辅助操作

(1)图形标注

①title(图形标题)
若标题要求两行,则要拥有一个大括号括起来,两行中间用逗号隔开。图形标题中也可使用LaTeX格式控制符,使用的地方也要用大括号括起来。

>> title(\'matlab\',\'y = sin(x)\')
含属性设置的title函数:title(图形标题,属性名,属性值)
Color属性:用于设置标题文本的颜色
FontSize属性:用于设置标题文字的字号
②xlabel(x轴说明)
③ylabel(y轴说明)
④text(x,y,图形说明)
gtext(说明)
⑤legend(图例1,图例2,…)
顺序要与plot函数输入的一致

x=linspace(0,2*pi,100);                 //定义x范围
y=[sin(x);sin(2*x);sin(0.5*x)];			//定义函数
plot(x,y);								//画出函数图像
axis([0,7,-1.2,1.2]);					//
title(\'不同频率正弦函数曲线\');			//标题
xlabel(\'Varible X\');					//x轴
ylabel(\'Varible Y\');					//y轴
text(2.5,sin(2.5),\'sin(x)\');			//在(x,y)处指明具体函数表达
text(1.5,sin(2*1.5),\'sin(2x)\');			//在(x,y)处指明具体函数表达
text(5.5,sin(0.5*5.5),\'sin(0.5*x)\');	//在(x,y)处指明具体函数表达式
legend(\'sin(x)\',\'sin(2*x)\',\'sin(0.5*x)\');//右上角区分
grid on									//显示网格

(2)坐标控制

①axis函数:axis([xmin,xmax,ymin,ymax,zmin,zmax])
其他用法:
axis equal:横纵坐标轴采用等长刻度
axis square:产生正方形坐标系(如不用该命令,默认为矩形)
axis auto:使用默认设置
axis off:取消坐标轴
axis on:显示坐标轴
②给坐标系加网格和边框:grid on(显示网格)、grid off(不显示网格)、grid(切换)(默认无网格);
box on(显示边框)、box off(不显示边框)、box(切换)(默认有边框)

(3)图形保持:

hold on(保持原有图形)
hold off(刷新图形窗口)
hold(切换)

(4)图形窗口的分割

子图:同一图形窗口中的不同坐标系下的图形称为子图。
subplot函数:subplot(m,n,p),其中,m和n指定将图形窗口分成m*n个绘图区,p指定当前活动区。

3.其他的二维图形

(1)其他坐标系下的二维曲线图

①对数坐标图(波特图等)

semilogx(x1,y1,选项1,x2,y2,选项2,…)
semilogy(x1,y1,选项1,x2,y2,选项2,…)
loglog(x1,y1,选项1,x2,y2,选项2,…)

②极坐标图:polar(theta,rho,选项)
其中,theta为极角,rho为极径,选项的内容与plot函数相同。

(2)统计图

①条形图:bar函数(垂直条形图)和barh函数(水平条形图)
bar(y,style),参数y是数据,选项style用于指定分组排列模式(“grouped”,簇状分组;“stacked”,堆积分组)

bar(x,y,style),其中x存储横坐标,y存储数据
②直方图:hist函数(直角坐标系下)和rose函数(极坐标系下)
hist(y) hist(y,x)
其中,参数y是要统计的数据,x用于指定区间的划分方式。

rose(theta,x),其中,参数theta用于确定每一区间与原点的角度,选项x用于指定区间的划分方式。

③扇形图(饼图):pie函数
pie(x,explode),其中,参数x存储待统计数据,选项explode控制图块的显示模式(与explode非零值对应的部分将从饼图中分离出来)。

④面积图:area函数,与plot函数用法相同,只是将所得曲线的下方填充颜色。
⑤散点类图形:
散点图,scatter函数;阶梯图stairs函数;杆图,stem函数
scatter函数,scatter(x,y,选项,’filled’),参数x,y用于定位数据点,选项用于指定线型、颜色、数据点标记(数据点标记若为封闭图形,可用’filled’指令填充,否则默认为空心)。

⑥矢量类图形:compass函数,罗盘图;feather函数,羽毛图;quiver函数,箭头图
quiver(x,y,u,v),其中,(x,y)指定矢量起点,(u,v)指定矢量终点。

4.三维曲线

(1)plot3函数

①plot3(x,y,z),其中,参数x,y,z组成一组曲线的坐标

②函数参数变化形式plot3(x,y,z)
当x,y,z是同型矩阵时,则以对应列元素绘制曲线,曲线条数等于矩阵列数;当x,y,z中有向量也有矩阵时,行向量的长度与矩阵的列数相同,或列向量的长度与矩阵的行数相同

③含多组输入参数的plot3函数:
plot3(x1,y1,z1,x2,y2,z2,…,xn,yn,zn),每组x,y,z向量构成一组数据点的坐标,绘制一条曲线。

④含选项的plot3函数:plot3(x,y,z,选项)
选项用于指定曲线的线型、颜色和数据点标记

(2)fplot3函数:

fplot3(funx,funy,funz,tlims)
其中,funx、funy、funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。tilms为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5]。

在fplot3函数中,也可以指定曲线的线型、颜色和数据点标记,在后面加上选项即可。

5.三维曲面

(1)平面网格数据的生成

①利用矩阵运算生成

②利用meshgrid(x,y)函数生成
[X,Y]=meshgrid(x,y),其中,参数x、y为向量,存储网格点坐标的X、Y为矩阵。
//>>x=2:6;
//>>y=(3:8)’;
//>>[X,Y]=meshgrid(x,y);

(2)绘制三维曲面的函数(绘制之前要先生成平面网格)

mesh(x,y,z,c) surf(x,y,z,c)
其中,x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色。

mesh函数和surf函数还可以这样调用:mesh(z,c)、surf(z,c)
当x、y省略时,z矩阵的第2维下标当作x轴坐标,第1维当作y轴坐标。
带等高线的三维网格曲面函数meshc,带底座的三维网格曲面函数meshz,具有等高线的曲面函数surfc,具有光照效果的曲面函数surfl

(3)标准三维曲面

①sphere函数:[x,y,z]=sphere(n)
绘制三维球面,n决定了球面的圆滑程度(默认为20),n较小则绘制出多面体表面图
②cylinder函数:[x,y,z]=cylinder(R,n)
绘制三维柱面,R是一个向量,存放柱面在各个高度的半径,n表示在圆柱圆周上有n个间隔点(默认20)

③peaks函数:

调用格式:peaks(n) peaks(V) peaks(x,y) peaks
④fsurf函数和fmesh函数
fsurf(funx,funy,funz,uvlims)
fmesh(funx,funy,funz,uvlims)
其中,funx、funy、funz代表定义曲面x、y、z坐标的函数,通常采用函数句柄的形式。Uvlims为funx、funy和funz的自变量的取值范围,用4元向量[umin,umax,vmin,vmax]描述,默认为[-5,5,-5,5]。

6.图形修饰处理:

视点处理、色彩处理、裁剪处理

(1)视点处理:

方位角(正值表示逆时针)和仰角(正值表示x轴上方)

①view函数:view(az,el),其中,az表示方位角(默认-37.5度),el为仰角(30度)(均以度为单位)。

②view函数的其他用法:view(x,y,z)(视点在笛卡尔坐标中的位置) view(2)(二维平面观察,方位角为0度,仰角为90度) view(3)(从三维空间观察,方位角和仰角为默认)

(2)色彩处理

①颜色的向量表示 [R G B]
[0 0 1]:蓝色 [1 0 0]:红色 [0 1 0]:绿色 [1 1 1]:白色 [0 0 0]:黑色
②色图:色图矩阵、内建色图(冷暖、四季、灰度色图)
指定当前图形使用的色图:colormap cmapname
colormap(cmap)
创建色图矩阵:色图矩阵的每一行是RGB三元组。可以自定义色图矩阵,也可以调用MATLAB提供的函数来定义色图矩阵。

③三维图形表面的着色
shading faceted:将每个网格片用其高度对应的颜色进行着色,网格线是黑色。
Shading flat:将每个网格片用同一个颜色进行着色,网格线也用相应的颜色。
shading interp:在网格片内采用颜色插值处理。

(3)图形的裁剪处理:

将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
数字图像处理、数学形态学、MATLAB GUI实现简单找茬软件发布时间:2022-07-18
下一篇:
MATLAB实现三维作图 【例】发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap