⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comload.m

📁 数字通信第四版原书的例程
💻 M
字号:
function comload(com_fig, ini_flag)
%

%       Copyright (c) 1995-96 by The MathWorks, Inc.
%       $Revision: 1.1 $  $Date: 1996/04/01 17:53:21 $

if nargin < 1
    com_fig = gcf;
end;
if nargin < 2
    ini_flag = 0;
end;

handle = get(com_fig, 'UserData');
if ~isempty(handle)
    h_axes = handle(1);
    h_plot = handle(2);
    testl  = handle(3:7);
    popmu  = handle(8:12);
    entr_text = handle(13:32);
    entr_valu = handle(33:52);
    exec = handle(53:63);
    data_h = handle(60:63);
    load_save = handle(64:67);
    bar_color = handle(68:69);
%    str = get(load_save(1), 'String');
%    eval(['load ', str]);
    set(bar_color(1), 'visible', 'on');
    if ini_flag
        load comfoo.mat
    else
        [filename, filepath] = uigetfile('*.mat', 'Load communication error rate computation GUI setting data from');
        if isempty(filename) | (filename == 0)
            return;
        end;
        eval(['load ', [filepath filename]]);
    end;

    for i = 1 : 5
      set(popmu(i), 'Value', popm_valu(i));
    end;

    for i = 1 : 20
      if valu_size(i) > 0
        str = valu_valu(1:valu_size(i));
        valu_valu(1:valu_size(i)) = [];
        set(entr_valu(i), 'String', str);
      end;
    end;

    if valu_size(21) > 0
      str = valu_valu(1:valu_size(21));
      valu_valu(1:valu_size(21)) = [];
      set(exec(5), 'String', str);
    end;

    for i = 1:2
      if valu_size(21+i) > 0
        str = valu_valu(1:valu_size(21+i));
        valu_valu(1:valu_size(21+i)) = [];
%        set(load_save(i), 'String', str);
      end;
    end;

    if ~isempty(comp_data)
      n_comp_data = size(comp_data,1);
      for i = 1:3
        if n_comp_data >= 2*i
          tmp = comp_data(2*i-1:2*i,:);
          for j = size(tmp, 2) : -1 : 2
             if (tmp(1,j) == 0) & (tmp(2,j) == 0)
                tmp(:, j) = [];
             end;
          end;
          set(data_h(i),...
            'UserData', tmp, ...
            'String', ['snr=',mat2str(tmp(1, :), 4),...
                '; bit_err_ratio=',mat2str(tmp(2, :), 4)]...
            )
        end;
      end;
      set(exec(3), 'Enable', 'on');
    end;

    if ~isempty(curr_data)
      set(data_h(4),...
        'UserData', curr_data(1:2, :), ...
        'String', ['snr=',mat2str(curr_data(1, :), 4),...
                   '; bit_err_ratio=',mat2str(curr_data(2, :), 4)]...
        )
      end;
      set(exec(3), 'Enable', 'on');
    end;

    for i = 1 : 5
      comermn(i, com_fig);
    end;
end;
set(bar_color(1), 'visible', 'off');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -