gpt4 book ai didi

matlab - Octave/MATLAB 绘制数字信号

转载 作者:行者123 更新时间:2023-12-02 06:56:45 25 4
gpt4 key购买 nike

给定这样的数据:

>> x = [0,3.0001,7,9];
>> y = [0 1 0 1];
>> plot(x, y);

我需要使绘图看起来像数字信号,而不是线性插值(请参见灰色和蓝色线)。

Enter image description here

为什么? (您实际上不需要阅读本文):

我正在绘制传感器给出的事件,因此我必须绘制传感器的当前状态与时间的关系。事件不会以给定频率刷新。我只是偶尔遇到传感器状态发生变化的情况。我的数据集是这样的:

传感器 1 开启时间 0

传感器 2 开启时间 0.05

传感器 1 关闭时间 1.15

传感器 2 关闭时间 1.55

...

我不知道 MATLAB 还是 Octave适合绘制此类信号。

最佳答案

使用楼梯:

figure;
stairs(x,y);

或者

x = [0,3,7,9];
y = [0 1 0 1]; % Input

在绘图之前添加此代码:

x1(1) = x(1);
j = 2;
for i=2:numel(x)
x1(j) = x(i);
j =j+1;
x1(j) = x(i);
j=j+1;
end
x1

j = 1;
for i=1:numel(y)-1
y1(j) = y(i);
j =j+1;
y1(j) = y(i);
j=j+1;
end
y1(j) = y(end);
y1

结果:

x1 = [0, 3, 3, 7, 7, 9, 9]
y1 = [0, 0, 1, 1, 0, 0, 1]

plot(x1, y1);

关于matlab - Octave/MATLAB 绘制数字信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33996874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com