matlab:二维绘图篇——plot绘图命令

devtools/2025/3/16 15:53:32/

目录

1.plot绘图命令

(1)plot(x)

实例——实验数据曲线

实例——窗口分割

实例——随机矩阵

(2).plot(x,y)

实例——摩擦系数变化曲线

(3)plot(x1,y1,x2,y2,...)

实例——正弦图形

实例——正弦余弦图形

(4)plot(x,y,s)

实例——数据点图形

实例——图形的重叠

实例——曲线属性的设置

实例——函数图形​编辑


1.plot绘图命令

       plot命令是最基本的绘图命令,也是最常用的一个绘图命令。当它执行时,系统会自动创建一个新的图形窗口。plot命令主要有以下几种格式:

(1)plot(x)

功能:

  • 当x是实向量时,则绘出以该向量元素的下标为横坐标,以该向量元素的值为纵坐标的一条连续曲线;
  • 当x是实矩阵时,按列绘制出每列元素值相对其下标的曲线,曲线数等于x的列数;
  • 当x是复数矩阵时,按列分别绘制出以元素实部为横坐标,以元素虚部为纵坐标的多条曲线。

实例——实验数据曲线

>>  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(2,2,1)
subplot(2,2,2)
subplot(2,2,3)
subplot(2,2,4)
>> 

实例——随机矩阵

>> a=rand(1,10);
b=rand(5,5);
subplot(1,2,1),plot(a)subplot(1,2,2),plot(b)

(2).plot(x,y)
 

功能:

  • 当x,y是同伟向量时,绘制以x为横坐标,y为纵坐标的曲线;
  • 当x是向量,y是有一维与x等维的矩阵时,绘制出多根不同颜色的曲线,曲线数等于y矩阵的另一维数,x作为这些曲线的横坐标;
  • 当x是矩阵,y是向量时,同上,但以y为横坐标;
  • 当x,y是同维矩阵时,以x对应的列元素为横坐标,以y对应的列元素为纵坐标分别绘制曲线,曲线数等于矩阵的列数;

实例——摩擦系数变化曲线

>> x=0:0.2:1;
y=[0 0 0 0;0.58 0.31 0.18 0.08;0.83 0.56 0.36 0.19;1.14 0.89 0.62 0.30;1.56 1.23 0.78 0.36;2.08 1.52 0.99 0.49];
plot(x,y)

(3)plot(x1,y1,x2,y2,...)

这个函数格式的功能是绘制多条曲线。在这个用法中,(xi,yi)必须是成对出现的,上面的命令等价于助词执行plot(xi,yi)命令,其中i=1,2,....

实例——正弦图形

% 生成从 0 到 2π 的 100 个等间距点的向量 x
% linspace 函数用于生成线性间距的向量,第一个参数是起始值,第二个参数是终止值,第三个参数是生成点的数量
x = linspace(0, 2*pi, 100);% 计算 y1 的值,对 x 中的每个元素取正弦值
y1 = sin(x);% 计算 y2 的值,对 x 中的每个元素加上 π/4 后再取正弦值
% 这相当于将 y1 曲线向左平移了 π/4 个单位
y2 = sin(x + pi/4);% 计算 y3 的值,对 x 中的每个元素减去 π/4 后再取正弦值
% 这相当于将 y1 曲线向右平移了 π/4 个单位
y3 = sin(x - pi/4);% 绘制图形
% plot 函数用于绘制二维曲线,这里将 x 作为横坐标,y1、y2、y3 分别作为纵坐标进行绘制
% 这样就会在同一个图形窗口中绘制出三条不同相位的正弦函数曲线
plot(x, y1, x, y2, x, y3);

实例——正弦余弦图形


在同一个图上画出y=sinx,y=5cos(x-Π/4)的图像。

 x1=linspace(0,2*pi,100);
x2=x1-pi/4;
y1=sin(x1);
y2=5*cos(x2);
plot(x,y1,x,y2,x,y3)

(4)plot(x,y,s)

x,y为向量或矩阵,s为单引号标记的字符串,用来设置所画数据点的类型,大小,颜色以及数据点之间连线的类型,粗细,颜色等。

颜色控制字符表
字符色彩RGB值
b蓝色001
g绿色010
r红色100
c青色011
m品红101
y黄色110
k黑色000
w白色111
线型符号及说明
-实线(默认)
--虚线
点线
-.点画线

实例——数据点图形

线性控制字符表
字符数据点字符数据点
+加号>向右三角形
o小圆圈<向左三角形
*星号s正方形
.实点h正六角星
x交叉号p正五角星
d棱形v向下三角形
^向上三角形


任意描一些点,熟悉plot命令参数的用法。

% 生成从 0 到 2π 的向量 x,步长为 π/10
% 这样就创建了一个包含一系列等间距点的向量
x = 0:pi/10:2*pi;% 计算 y1 的值,对 x 中的每个元素取正弦值
% 得到的 y1 是与 x 对应的正弦函数值向量
y1 = sin(x);% 计算 y2 的值,对 x 中的每个元素取余弦值
% 得到的 y2 是与 x 对应的余弦函数值向量
y2 = cos(x);% 计算 y3 的值,y3 与 x 相等,即 y = x 这个一次函数
% 得到的 y3 与 x 元素相同
y3 = x;% 计算 y4 的值,对 x 中的每个元素进行平方操作
% 得到的 y4 是与 x 对应的二次函数值向量
y4 = x.^2;% 开启图形保持模式
% 意味着后续的绘图命令会在同一个图形窗口中绘制,而不是覆盖之前的图形
hold on;% 绘制 y1 关于 x 的曲线
% 'r*' 表示使用红色的星号标记绘制曲线
plot(x, y1, 'r*');% 绘制 y2 关于 x 的曲线
% 'kp' 表示使用黑色的五角形标记绘制曲线
plot(x, y2, 'kp');% 绘制 y3 关于 x 的曲线
% 'bd' 表示使用蓝色的菱形标记绘制曲线
plot(x, y3, 'bd');% 关闭图形保持模式
% 之后的绘图命令将覆盖当前图形窗口中的内容
hold off;

实例——图形的重叠

% 定义一个整数 N,用于确定后续生成的角度序列的点数
N = 9;% 生成从 0 到 2π 的等间距角度序列 t,步长为 2π/N
% 这样会生成一个包含 (N + 1) 个元素的向量,因为包含了起始点 0 和终止点 2π
t = 0:2*pi/N:2*pi;% 计算 t 中每个角度对应的正弦值,存储在向量 x 中
x = sin(t);
% 计算 t 中每个角度对应的余弦值,存储在向量 y 中
y = cos(t);% 将向量 t 重塑为一个 2 行,(N + 1)/2 列的矩阵 tt
% 重塑操作会按照列优先的顺序填充矩阵元素
tt = reshape(t, 2, (N + 1)/2);% 对矩阵 tt 进行上下翻转操作
% 即第一行变为最后一行,最后一行变为第一行
tt = flipud(tt);% 将矩阵 tt 转换为一个列向量
% 也就是将矩阵按列的顺序依次排列成一个向量
tt = tt(:);% 计算重排后的角度序列 tt 中每个角度对应的正弦值,存储在向量 xx 中
xx = sin(tt);
% 计算重排后的角度序列 tt 中每个角度对应的余弦值,存储在向量 yy 中
yy = cos(tt);% 绘制由向量 x 和 y 构成的曲线
% 这里实际上绘制的是以 x 为横坐标,y 为纵坐标的点连接而成的曲线,通常是一个单位圆
plot(x, y);% 开启图形保持模式
% 意味着后续的绘图命令会在当前图形窗口中继续绘制,而不会覆盖之前绘制的图形
hold on;

> N=9;
t=0:2*pi/N:2*pi;
x=sin(t);y=cos(t);
tt=reshape(t,2,(N+1)/2);
tt=flipud(tt);
tt=tt(:);
xx=sin(tt);yy=cos(tt);
plot(x,y)
hold on %打开保持命令plot(xx,y)%未输入关闭命令,显示叠加的图
hold off
plot(xx,y)%关闭保持命令,单独显示图形

实例——曲线属性的设置

% 生成从 0 到 π 的向量 t,步长为 π/100
% t' 是对 t 进行转置,将其转换为列向量
t=(0:pi/100:pi)';% 计算 y1 的值
% sin(t) 是对 t 中的每个元素取正弦值
% [1, -1] 是一个行向量
% sin(t)*[1,-1] 表示将 sin(t) 与 [1, -1] 进行矩阵乘法
% 最终 y1 是一个两列的矩阵,第一列是 sin(t),第二列是 -sin(t)
y1=sin(t)*[1,-1];% 计算 y2 的值
% sin(t).*sin(9*t) 表示将 sin(t) 与 sin(9*t) 对应元素相乘
y2=sin(t).*sin(9*t);% 生成从 0 到 π 的 10 个等间距点的向量 t3
t3=pi*(0:9)/9;% 计算 y3 的值
% 对 t3 中的每个元素取正弦值,然后将 sin(t3) 与 sin(9*t3) 对应元素相乘
y3=sin(t3).*sin(9*t3);% 绘制图形
% t,y1 表示以 t 为 x 轴,y1 为 y 轴进行绘图
% 'r:' 表示使用红色的点线
% t,y2 表示以 t 为 x 轴,y2 为 y 轴进行绘图
% '-bo' 表示使用蓝色的实心圆点和实线
plot(t,y1,'r:',t,y2,'-bo')% 保持当前图形窗口,以便后续的绘图命令可以在同一窗口中绘制
hold on% 绘制 t3 和 y3 的图形
% 's' 表示使用正方形标记
% 'MarkerSize',10 表示标记的大小为 10
% 'MarkerEdgeColor',[0,1,0] 表示标记的边缘颜色为绿色
% 'MarkerFaceColor',[1,0.8,0] 表示标记的填充颜色为橙色
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])% 设置坐标轴的范围
% [0,pi,-1,1] 表示 x 轴范围从 0 到 π,y 轴范围从 -1 到 1
axis([0,pi,-1,1])% 取消图形保持模式,后续的绘图命令将覆盖当前图形
hold off% 再次绘制所有曲线
% 这里的绘图命令与前面的绘图命令重复
plot(t,y1,'r:',t,y2,'-bo',t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0])

实例——函数图形

% 生成从 -π 到 π 的向量 x,步长为 π/10
x=-pi:pi/10:pi;% 计算 y1 的值,对 sin(x) 的每个元素求指数
y1=exp(sin(x));% 计算 y2 的值,对 cos(x) 的每个元素求指数
y2=exp(cos(x));% 计算 y3 的值,对 sin(x) + cos(x) 的每个元素求指数
y3=exp(sin(x)+cos(x));% 计算 y4 的值,对 sin(x) - cos(x) 的每个元素求指数
y4=exp(sin(x)-cos(x));% 计算 y5 的值,对 sin(x) 和 cos(x) 对应元素相乘后每个元素乘以 0.2 再求指数
y5=0.2*exp(sin(x).*cos(x));% 计算 y6 的值,对 sin(x) 和 cos(x) 对应元素相除后每个元素乘以 0.2 再求指数
y6=0.2*exp(sin(x).\cos(x));% 绘制多个曲线
% 'b:' 表示蓝色的点线
% 'd-' 表示菱形标记和实线
% 'm>' 表示品红色的右箭头标记
% 'rh-' 表示红色的六边形标记和实线
% 'gh-' 表示绿色的六边形标记和实线
% 'bh-' 表示蓝色的六边形标记和实线
plot(x,y1,'b:',x,y2,'d-',x,y3,'m>',x,y4,'rh-',x,y5,'gh-',x,y6,'bh-');


http://www.ppmy.cn/devtools/167596.html

相关文章

uniapp+vue实现购物车的左滑删除功能

左滑删除 删除功能利用透明的改变在显示删除按钮实现思路代码效果展示 利用scroll滑动容器来实现代码实现效果展示 我们在移动端的电商平台中&#xff0c;一般都是左滑后然后删除按钮出现&#xff0c;用户可以点击删除按钮来进行该商品的删除&#xff0c;这里我分享两种方法来达…

机器学习-----决策树

文章目录 1、概念2. 决策树的构建过程2.1 特征选择2.2 树的生成2.3 树的剪枝 3. 决策树的优缺点4. 决策树的应用4.1 分类任务4.2 回归任务4.3 集成学习 代码示例 总结 1、概念 1.1决策树是什么 决策树是通过对样本的训练&#xff0c;建立出分类规则&#xff0c;并对新样本进行…

【Linux系统编程】共享内存

目录 1、什么是共享内存2、mmap函数3、mmap对比read、write4、munmap 函数5、msync函数5.1、通过页表机制&#xff0c;将修改的数据同步到磁盘&#xff0c;那为什么还需要msync函数 6、示例6.1、使用mmap让进程之间通信&#xff0c;文件作为媒介6.3、修改文件&#xff0c;使用m…

BGP路由聚合

BGP路由聚合 路由聚合解决了两类问题,一是减轻了设备传输和计算路由所需资源的负担,二是隐藏了具体的路由信息,减少了路由震荡的影响。 聚合方式相关命令备注静态聚合network配置静态路由汇总明确路由,再由network宣告自动聚合summary automatic对引入的路由进行主类掩码聚…

如何在需求分析阶段考虑未来扩展性

在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中&#xff0c;前瞻规划尤为重要&#xff0c;因为通过全面分析业务发展趋势与技术演进&#xff0c;能够在初期设计阶段预留足够扩展空间&#xff0c;降低后期改造成本&#xff0c;为企业长期发展奠定坚…

UE5与U3D引擎对比分析

Unreal Engine 5&#xff08;UE5&#xff09;和Unity 3D&#xff08;U3D&#xff09;是两款主流的游戏引擎&#xff0c;适用于不同类型的项目开发。以下是它们的主要区别&#xff0c;分点整理&#xff1a; 1. 核心定位 UE5&#xff1a; 主打3A级高画质项目&#xff08;如主机/P…

结合使用 OpenCV 和 TensorFlow进行图像识别处理

在实际项目中&#xff0c;OpenCV 和 TensorFlow 可以结合使用&#xff0c;发挥各自的优势。以下是一个典型的结合使用流程&#xff1a; 典型应用场景 &#xff08;1&#xff09;​人脸检测和识别 使用 OpenCV 进行人脸检测。使用 TensorFlow 进行人脸识别。 &#xff08;2&…

XSS总结

文章目录 原理解析&#xff1a;触发方式文件内容中的xss文件名中的xssHTTP请求中的xss其他 分类&#xff1a;根据攻击脚本存储的方式根据脚本是否通过服务器处理根据持久性 常见的js触发标签无过滤情况有过滤情况 xss-labs通关level1-level10level11-level20 XSS&#xff08;Cr…