表示整个 8 位的幅度的 Matlab 二元图

Matlab Binary Plot for Magnitude Representing the Whole 8 Bits

我正在尝试绘制幅值二进制图,其中 y 显示 8 位的二进制幅值。其他人通过绘制单个位来解决这个问题,但目标是显示整个 8 位,表示为一个数字(即 00000001 = 1),图中二进制形式的大小。

代码如下:

     % Magnitude
     binMag = [00000001; 00000010; 00000100] 
% binary string representation of decimal 1, 2, 3
    % Tried to convert bin to a double
    binTodouble = str2double(binMag);
    figure;
    stairs(binTodouble)

总的来说,我的目标是绘制如下图所示的二进制图。

考虑到 Cris Luengo 的想法,您将得到以下简短脚本。我只是想添加如何具体设置 xticklabelyticklabel,就像你希望它在你的情节中那样。

% Binary values
bValues = { '00000000', 
            '00000001', 
            '00000010', 
            '00000011', 
            '00000100', 
            '00000101' };

% Double values
dValues = bin2dec(bValues);

% Output
figure(1);
stairs(dValues, dValues);
set(gca, 'xtick', dValues, 'xticklabel', dValues);
set(gca, 'ytick', dValues, 'yticklabel', bValues);