MATLAB 绘图
MATLAB
在这里只介绍常用的命令,每一个命令和函数都有着很多重载,不可能每一个都仔细记录,所以多使用
help
命令才是王道。
二维绘图
单一绘图
使用的是 Plot(x,y)
函数,其中 x
为自变量, y
为因变量,所以可以进行相应的函数绘图。
x=[ 5 10 20 30 40 50 60 70 90 120];
y=[6 10 13 16 17 19 23 25 29 460];
plot(x,y);
效果如下:
多图绘图
使用的是 subplot(m,n,p)
函数, 其中 m n
为将屏幕分为 m 行和 n 列。p
为将图片放置到第几个位置。
subplot(1,2,1);
plot(x,y);
subplot(1,2,2);
plot(x,y);
效果如下:
其他命令:
**调用格式 ** | 说明 |
---|---|
subplot(m,n,p,'replace') |
删除 p 处的现有坐标区并创建新的坐标区 |
多函数绘图
使用的仍然是 plot(x1,y1,x2,y2,...)
函数。方法与上一样,不再赘述
x=0:0.1:10;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);
效果如下:
绘图标记
使用的仍然是 plot(x,y,s)
,其中 s
为标记,具体请查看相关文档标注。
plot(x,y1,'r:+');% 绘制一个红色 +号 点线形式
效果如下:
字符 | 色彩 | RGB 值 |
---|---|---|
b | 蓝色 | 001 |
g | 绿色 | 010 |
r | 红色 | 100 |
c | 青色 | 011 |
m | 品红 | 101 |
y | 黄色 | 110 |
b | 黑色 | 000 |
w | 白色 | 111 |
线型符号 | 说明 | 线型符号 | 说明 |
---|---|---|---|
- | 实线 | : | 点线 |
-- | 虚线 | -. | 点画线 |
字符 | 数据点 | 字符 | 数据点 |
---|---|---|---|
+ | 加号 | > | 向右三角形 |
o | 小圆圈 | < | 向左三角形 |
* | 星号 | s | 正方形 |
. | 实点 | h | 正六角星 |
x | 交叉号 | p | 正五角星 |
d | 菱形 | v | 向下三角形 |
^ | 向上三角形 |
图形保持
使用的是 hold on
命令,效果与多函数绘图一样。
plot(x,y1);
hold on;
plot(x,y2);
效果如下:
多函数标注
使用的还是 plot(x1,y1,s1,x2,y2,s2,...)
与之前用法相同,不再赘述
plot(x,y1,'ro:',x,y2,'b-.*');
效果图:
一元函数绘图
虽然说使用 plot(x,y)
可以进行一元函数的绘制,但是对于具有具体函数关系的函数图绘制更推荐使用 fplot(f)
进行绘制。
fplot(f)
中的 f
为函数句柄,在操作上要比 plot(x,y)
函数要麻烦一点,但绘制出来的效果会更好。
x=linspace(0.01,0.02,50);
y=sin(1./x);
subplot(2,1,1);
plot(x,y);
title('plot(x,y)');
subplot(2,1,2);
fplot(@(x)sin(1./x),[0.01,0.02]);%需要使用函数句柄
title('fplot(f)');
效果图:
可以看出,使用 fplot(f)
函数绘制的图像要更加贴近现实以及更加平滑。
非直角坐标系绘图
在直角坐标系绘图之外还有 极坐标系
半对数坐标系
双对数坐标系
双y轴坐标
等坐标系,不太常见,故不做介绍。
示例代码
% 前期准备
close all
clear
clc
%% 单一绘图 plot(x,y)
x=[ 5 10 20 30 40 50 60 70 90 120];
y=[6 10 13 16 17 19 23 25 29 460];
plot(x,y);
%% 多图绘图 subplot(m,n,p)
subplot(1,2,1);
plot(x,y);
subplot(1,2,2);
plot(x,y);
%% 多函数绘图 plot(x1,y1,x2,y2,...)
x=0:0.1:10;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);
%% 绘图标记 plot(x,y,s) s为绘图的标记记号
plot(x,y1,'r:+');% 绘制一个红色 +号 点线形式
%% 图形保持 hold on
plot(x,y1);
hold on;
plot(x,y2);
%% 多函数标记 plot(x1,y1,s1,x2,y2,s2,...)
plot(x,y1,'ro:',x,y2,'b-.*');
%% 一元函数绘图 fplot(f) --- 更加平滑
x=linspace(0.01,0.02,50);
y=sin(1./x);
subplot(2,1,1);
plot(x,y);
title('plot(x,y)');
subplot(2,1,2);
fplot(@(x)sin(1./x),[0.01,0.02]);%需要使用函数句柄
title('fplot(f)');
图形标注
对于图形进行标注是一个很大的需求
坐标系和坐标轴
使用的是 axis([xmin,xmax,ymin,ymax])
命令。将坐标轴的大小限制在一的范围之间。
x=0:0.1:20;
y=sin(x);
plot(x,y);
axis([0,10,-1.5,1.5]);% 需要在 plot() 后面
效果图:
填充图形
使用的 fill(x,y,s)
命令。s
为颜色。
fill(x,y,'r');
效果图:
为什么是这么个奇形怪状的我也不太清楚....
标题以及轴名称
使用的是 title
xlabel
ylabel
函数,能够对标题 $X/Y$ 轴进行标注,而且支持 LaTeX 公式!
plot(x,y);
title('正弦函数');
xlabel('\phi');
ylabel('sin(\phi)');
效果图:
图形标注
使用 text(x,y,'text')
命令。
效果图:
图例标注
使用 legend()
函数。
x=0:0.1:10;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);
legend('sin(\phi)','cos(\phi)');
效果图:
分割线控制
使用的是 grid on
命令,能够开启背景网格。
x=0:0.1:20;
y=sin(x);
plot(x,y);
grid on;
效果图:
示例代码
% 图形标注
% 前期准备
close all;
clear;
clc;
%% 坐标系和坐标轴 axis([xmin,xman,ymin,ymax,zmin,zmax])
x=0:0.1:20;
y=sin(x);
plot(x,y);
axis([0,10,-1.5,1.5]);% 需要在 plot() 后面
%% 填充图形 fill()
fill(x,y,'r');
%% 标题以及轴名称 title xlabel ylabel
plot(x,y);
title('正弦函数');
xlabel('\phi');
ylabel('sin(\phi)');
%% 图形标注 text(x,y,'text') 支持 LaTex公式
plot(x,y);
text(10,0.5,'sin(\pi/4)\rightarrow');
%% 图例标注 legend()
x=0:0.1:10;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);
legend('sin(\phi)','cos(\phi)');
%% 分隔线控制 grid
x=0:0.1:20;
y=sin(x);
plot(x,y);
grid on;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)