【MATLAB】进阶绘图 ( 双 y 轴图形

您所在的位置:网站首页 plot双坐标 【MATLAB】进阶绘图 ( 双 y 轴图形

【MATLAB】进阶绘图 ( 双 y 轴图形

2024-07-16 00:33| 来源: 网络整理| 查看: 265

文章目录 一、双 y 轴图1、plotyy 函数2、使用场景3、代码示例 二、Histogram 统计图形1、hist 函数2、代码示例

一、双 y 轴图 1、plotyy 函数

plotyy 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/plotyy.html ( 过时了 , 这里简单介绍下 , 官方推荐使用 yyaxis 函数 )

plotyy 函数绘制的坐标轴图形有两个 y y y 轴 ;

plotyy 语法 : 返回值有 3 3 3 个元素 ;

AX 是坐标系 axis 句柄值 ;曲线 1 的句柄值是 H1 ;曲线 2 的句柄值是 H2 % 使用 plotyy 绘制两条曲线 % AX 是坐标系 axis 句柄值 % 曲线 1 的句柄值是 H1 % 曲线 2 的句柄值是 H2 [AX, H1, H2] = plotyy(x, y1, x, y2); 2、使用场景

使用场景 :

绘制如下公式 :

y = a e − b x sin ⁡ ( c x ) y = a e^{-bx} \sin(cx) y=ae−bxsin(cx)

同时绘制不同的 a , b , c a,b, c a,b,c 参数的曲线 ,

曲线 1 1 1 : y = 200 e − 0.05 x sin ⁡ ( x ) y = 200 e^{-0.05x} \sin(x) y=200e−0.05xsin(x)

曲线 2 2 2 : y = 0.8 e − 0.5 x sin ⁡ ( 10 x ) y = 0.8 e^{-0.5x} \sin(10x) y=0.8e−0.5xsin(10x)

在一个坐标轴图中 , 两个曲线的取值范围差距过大 , 曲线 1 1 1 取值范围 [ − 200 , 200 ] [-200 , 200] [−200,200] , 曲线 2 2 2 取值范围 [ − 0.8 , 0.8 ] [-0.8, 0.8] [−0.8,0.8] , 如果使用相同的坐标系 , 如果在 [ − 200 , 200 ] [-200 , 200] [−200,200] 的坐标轴上绘制曲线 2 2 2 基本就看不到了 ;

3、代码示例

代码示例 :

% x 轴取值 x = 0 : 0.01 : 20; % 曲线 1 对应的 y 值 y1 = 200 * exp (-0.05 * x) .* sin(x); % 曲线 2 对应的 y 值 y2 = 0.8 * exp (-0.5 * x) .* sin(10 * x); % 使用 plotyy 绘制两条曲线 % AX 是坐标系 axis 句柄值 % 曲线 1 的句柄值是 H1 % 曲线 2 的句柄值是 H2 [AX, H1, H2] = plotyy(x, y1, x, y2); % 修改坐标轴标注 , 通过 AX 句柄值设置左右两侧 y 轴标注 set(get(AX(1), 'Ylabel'), 'String', '左侧 Y1 曲线'); set(get(AX(2), 'Ylabel'), 'String', '右侧 Y2 曲线'); % 设置标题 title('双 y 轴曲线'); % 设置曲线 1 样式 , 使用 H1 句柄设置 , 虚线 set(H1, 'LineStyle', '--'); % 设置曲线 2 样式 , 使用 H1 句柄设置 , 实线 set(H2, 'LineStyle', '-');

绘图结果 :

在这里插入图片描述

二、Histogram 统计图形 1、hist 函数

hist 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/hist.html

2、代码示例

代码示例 :

% 随机生成 1 ~ 1000 之间的数字 y = randn (1, 1000); % 绘制图像 1 subplot (2, 1, 1); % 绘制直方图 , 10 个元素 hist (y, 10); % 绘制图像 2 subplot (2, 1, 2); % 绘制直方图 , 50 个元素 hist (y, 50);

绘图结果 :

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3