Dica para trabalhar com variáveis no Simulink

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Diretamente do terminal do MATLAB

Bloco com parâmetros

function parametros


persistent postloadFlag;
if isempty(postloadFlag)
    postloadFlag = true;
else
    if postloadFlag
        postloadFlag = false;ip
        return
    end
end

settingsBlock = [bdroot '/parametros1'];
[symbol_rate] = getSettings(settingsBlock,'symbol_rate');
[M_ary] = getSettings(settingsBlock,'M_ary');
[snr] = getSettings(settingsBlock,'snr');
[Ebno] = getSettings(settingsBlock,'Ebno');
[input_signal] = getSettings(settingsBlock,'inputSignal');
[F_sep] = getSettings(settingsBlock,'F_sep');
[aps] = getSettings(settingsBlock,'aps');




p.symbol_rate = symbol_rate;
p.M = M_ary;
p.k = log2(M_ary);
p.snr = snr;
p.Ebno = Ebno;
p.Esno = Ebno + 10*log10(p.k);
p.input_signal = input_signal;

p.F_sep = F_sep;
p.aps = aps;

 
%Assign variables to base workspace
 assignin('base', 'p', p);



 function varargout = getSettings(settingsBlock, varargin)

 varargout = cell(size(varargin));

 h = get_param(settingsBlock, 'handle');
 for n = 1:length(varargin)
     varargout{n} = evalin('base', get(h, varargin{n}));
 end