当前位置: 首页 > article >正文

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

目录

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.kler.cn/a/583937.html

相关文章:

  • Java中如何去自定义一个类加载器
  • SQL Server查询优化
  • Axure设计之下拉多选框制作教程C(中继器)
  • 【MySQL 中 `TINYINT` 类型与布尔值的关系】
  • 宇树人形机器人开源模型
  • 【一键让照片动起来】阿里万相2.1图生视频+蓝耘智算零门槛部署指南
  • 正则应用--java算法
  • 【Java项目】基于JSP的咨询交流论坛系统
  • 用 Python 检测两个文本文件的相似性的几种方法
  • 人工智能混合编程实践:Python ONNX进行图像超分重建
  • 【探秘机器人:从当下到未来的科技跃迁】
  • VSCode集成C语言开发环境
  • 八叉树地图的原理与实现
  • 基于GoogleNet深度学习网络和GEI步态能量提取的步态识别算法matlab仿真,数据库采用CASIA库
  • 归并排序的一些介绍
  • 【Linux】线程
  • 贪心算法——c#
  • FX-std::map
  • CLR中的类型转换
  • Redis7——进阶篇(六)