zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Matlab中ruler2num函数的使用

MATLAB 函数 使用
2023-09-11 14:14:49 时间

目录

语法

说明

示例

将日期值转换为等效的数值


        ruler2num函数是将数据从特定的标尺转换为数值数据。

语法

num = ruler2num(data,ruler)

data - 输入数组

        输入数组,指定为标量、向量或矩阵。如果 data 已经是数值,则输出 num 等于输入 data

ruler - 标尺

        与输入数据相关联的标尺,指定为 DatetimeRuler、DurationRuler、NumericRuler 或 GeographicRuler 对象。使用 Axes 对象的 XAxis、YAxis 或 ZAxis 属性指定标尺对象。例如:

ax = gca;
num = ruler2num(data,ax.XAxis)

        如果指定 NumericRuler 对象,而输入 data 不是数值,则输出 num 由以下公式决定:

num = full(double(data))

        如果指定 GeographicRuler 对象,则输出 num 等于输入 data

说明

num = ruler2num(data,ruler)将 data 中的值转换为数值。ruler 输入表示与 data 关联的标尺,它决定如何将值映射到对应的数值。输出 num 的大小与输入 data 相同。

示例

将日期值转换为等效的数值

        将日期值转换为等效的数值,以便设置文本对象的 Position 属性。创建 x 轴为日期值的绘图。为第四个数据点添加文本说明,并返回文本对象。

t = datetime(2015,1,1:10);
y = [.2 .3 .5 .2 .8 .2 .3 .1 .3 .4];
plot(t,y,'-o')
txt = text(t(4),y(4),'My text');

        通过设置文本对象的 Position 属性,将文本的位置更改到第六个数据点。由于 Position 属性只接受数值,因此需要将第六个数据点的日期时间值转换为等效的数值。

t = datetime(2015,1,1:10);
y = [.2 .3 .5 .2 .8 .2 .3 .1 .3 .4];
plot(t,y,'-o')
txt = text(t(4),y(4),'My text');
ax = gca;
x6 = ruler2num(t(6),ax.XAxis);
txt.Position = [x6 y(6)];