当前位置:网站首页>MATLAB中的图形绘制
MATLAB中的图形绘制
2022-04-21 17:44:00 【用户9688532】
MATLAB的图形通常都是通过描点、连线的方式来实现的。通过提供关键位置的点坐标及点与点之间的具体链接方式实现图形绘制。
同时支持在同一张图片上绘制多个图形,为了区别不同的图形,可用不同的颜色、大小、形状与链接方式来区分不同的图形。
二维图形的绘制
因MATLAB的图形是通过描点、连线来实现的,故在绘制简单平面图形时需要提供图形上的一系列点的横纵坐标,然后将这些点链接起来。其具体图形绘制命令为:
plot(X,Y,’S’)
其中X,Y是向量,分别是由所有点的横坐标和纵坐标构成的向量,S是一字符串,用于确定线的颜色,点的绘制形状及点与点的链接方式。
matlab隐函数绘图通过在命令窗口中输入help plot命令可以查看S的具体编写方式。Y有时可以是一矩阵,届时将对同一自变量绘制多条曲线。
例
以向量y=(1,2,5,4.5,3,6,1)的各个分量为纵坐标,分量序号为横坐标绘制顺序连接线。
解:输入命令
y=1 2 5 4.5 3 6 1;
plot(y)
例
画出一条正弦曲线和一条余弦曲线。
>>x=0:pi/10:2*pi; %构造向量
>>y1=sin(x); %构造对应的y1坐标
>>y2=cos(x); %构造对应的y2坐标
>>plot(x,y1,x,y2) %画出一个以x为横坐标,y1,y2为纵坐标的图形
注意
①构造向量采用了所谓的冒号法,格式为
向量名=初值:步长:终值 %步长为1时可以省略。
②plot是针对向量或矩阵的列来绘制曲线的,也就是说,使用plot之前必须首先定义好曲线上每一点的x坐标和y坐标。
③在上述的格式中,x和y都可以是表达式。
④如果自变量的间隔取得比较大,光滑的曲线就会显示出折线的本来面貌。
例
matlab初学者教程某次考试学生成绩优秀的占8%,良好的占20%,中等的占36%,及格的占24%,不及格的占12%。分别用饼图和条形图表示。
解:
x=8 20 36 24 12;
subplot(221);pie(x,1 0 0 0 1);
title('饼图');
subplot(222);bar(x,'grpup');
title('垂直条形图');
subplot(223);bar(x,'stack');
title('累加值为纵坐标的垂直条形图');
subplot(224);barh(x,'group');
title('水平条形图');
关于曲线控制命令
在使用plot等命令绘制曲线时可以指定曲线的颜色、线型和数据点图标。基本的调用格式为
plot(x,y,'color line-style marker')
注意
①颜色、线型、标记三种属性的符号必须放在同一个字符串内。
②属性的先后顺序没有关系,可以只指定一两个属性,也可以全部缺省,但同种属性不能同时指定两个。
③颜色缺省为蓝色。
④点、线标识符缺省为实线。
⑤属性间不用间隔。
例
用红色、点连线、叉号画出正弦曲线。
>>x=0:0.2:8;
>>y=sin(x);
>>plot(x,y,'r:x')
关于图形的标注命令
例
给上述例子的图形加入网格和标注。
>>x=0:pi/10:2*pi;
>>y1=sin(x);
>>y2=cos(x);
>>plot(x,y1,x,y2)
>>grid on %添加网格
>>xlabel(‘x轴’) %横坐标名
>>ylabel(‘y轴’) %纵坐标名
>>title(‘正弦函数和余弦函数曲线’) %标题
>>text(1.5,0.3,’cos(x)’) %指定位置标注
>>gtext(‘sin(x)’) %用鼠标选择位置标注
>>axis(0 2*pi -1.2 1.2 %设置坐标轴的最大值最小值
hold on(/off) 保持绘图命令
subplot(n,m,k) 将图形窗口分成n行m列个格子,在第k个格子绘图,格子按从上到下依行计数。
例
在同一个窗口中,使用两次plot函数,绘制两条曲线。
>>x=0:0.2:12;
>>plot(x,sin(x),’-’)
>>hold on
>>plot(x,cos(x),’:’)
例
把当前窗口分割成四个区域,绘制四条函数曲线。
>>x=0:0.05:8;
>>y1=2*sin(x);
>>y2=2*cos(x);
>>y3=sin(2*x);
>>y4=cos(2*x);
>>subplot(2,2,1);
>>plot(x,y1);
>>title(‘2sinx’)
>>subplot(2,2,2);
>>plot(x,y2);
>>title(‘2cosx’)
>>subplot(2,2,3);
>>plot(x,y3);
>>title(‘sin2x’)
>>subplot(2,2,4);
>>plot(x,y4);
>>title(‘cos2x’)
三维图形的绘制
在MATLAB中绘制三维曲线的命令为
plot3(x,y,z,’S’)
其中x,y,z分别为点的横、纵及竖坐标,S为字符串,matlab四维图与二维图形的绘着字符串类似。
在MATLAB中绘制三维箭头函数
quiver3(x,y,z,u,v,w)
例
试绘制
的图形。
解
在命令窗口中录入如下命令,即可获得如图所示的图形。
t=0:0.01:10*pi;
x=sin(t);
y=cos(t);
plot3(x,y,t,'g');
绘制三维曲面的命令则有 mesh(x,y,z)或surf(x,y,z)。 它们的区别在于,前者绘制出的是一个用网格近似的曲面,后者绘制出的是一个真正表面图。
例
绘制多峰函数图。
>>z=peaks(40);
>>mesh(z);
>>surf(z);
peaks称为多峰函数,常用于三维曲面的演示。
例
试绘制z=x²-y²的图形。
解
首先取定横纵坐标,输入如下命令
x=-10:0.5:10;
y=-10:0.5:10;
其次利用meshgrid命令生成横纵交叉网格坐标,具体命令如下:
xx,yy=meshgrid(x,y)
最后生成竖坐标并作图。具体命令如下:
z=xx.^2-yy.^2;
mesh(xx,yy,z);
图形的修饰
(1) 坐标轴与图形名命名
通过以下命令可实现对坐标轴及图形的命名
xlabel(‘具体名称’)
ylabel(‘具体名称’)
zlabel(‘具体名称’)
title (‘具体名称’)
(2) 增加网格
通过grid on或grid off命令实现增加网格或删除网格。
(3) 图形中增加修饰
为了在图形中增加文字来实现对图形的修饰,可通过gtext(‘string’)来实现对图形的修饰。当运行gtext命令时,屏幕中会出现一个交叉的十字,将该十字移动到指定的位置并按下左键时,所标注的字符串就将会放置到该位置。
版权声明
本文为[用户9688532]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1985543
边栏推荐
- OpenHarmony-UI框架适配层浅析(一)
- C ODBC loads the files of one folder into the blob column of PostgreSQL database and downloads the blob column to another folder
- STM32学习笔记——RTC的亚秒值校准
- 我用Ehcache把查询性能提升了100倍,真香
- Is it really safe to outsource model training? New research: outsourcers may implant backdoors to control bank lending
- Structure malloc bug
- [dynamic programming] 152 Product maximum subarray
- Vulnerability detection and defense: redis unauthorized access vulnerability recurrence
- 将模型训练外包真的安全吗?新研究:外包商可能植入后门,控制银行放款
- redis事务的基本操作
猜你喜欢

修改van-dropdown-menu默认高度

MySQL数据库常识之储存引擎

众昂矿业:萤石资源新的活跃应用领域

论文浅尝|《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》

Chest X-ray images - dataset

深耕行业数十年,多元视角解读!从思维转变看数字化转型 IT 经营

有奖征文 | 重奖5000元,邀您投稿

数字化时代,企业运维面临现状及挑战分析解读

Why can we use probability distribution density function to express probability?

Dynamic programming: coin topic summary
随机推荐
【机器学习】门控循环单元
Onnx efficiency: comparison with module & dataparallel
AI + clinical trial | Bayer exploration creates "virtual" control group
Chest X-ray images - dataset
WPF references methods that uwp controls are not packaged for msix distribution
LAXCUS分布式操作冗余容错之节点篇
The difference between MSIL static class and non static class in IL definition
2022 new air outlet! The tide of it crowd research is coming!!!
查询2021年入职的非业务科员工的员工信息,各位同志们这个怎么编写SQL语句啊,求解
Considering loose coupling of microservice architecture? Be careful of these traps
How to turn on the undisturbed time with win10 memo how to set the message of rest day to be undisturbed
Dynamic programming: coin topic summary
数字化时代,企业运维面临现状及挑战分析解读
Redis 做分布式锁的常见问题和解决方案
如何在面试中机智的展现架构能力?
关于无线DOS攻击的常用方法简述
Yield function in Arduino esp8266
MSIL 静态类在 IL 定义上和非静态类的差别
A simple and easy-to-use file upload scheme
Variable ‘err‘ is accessed from within inner class, needs to be final or effectively final