表示整个 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 的想法,您将得到以下简短脚本。我只是想添加如何具体设置 xticklabel
和 yticklabel
,就像你希望它在你的情节中那样。
% 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);
我正在尝试绘制幅值二进制图,其中 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 的想法,您将得到以下简短脚本。我只是想添加如何具体设置 xticklabel
和 yticklabel
,就像你希望它在你的情节中那样。
% 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);