Mudanças entre as edições de "Dica para trabalhar com variáveis no Simulink"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 17: Linha 17:
 
end
 
end
  
settingsBlock = [bdroot '/parametros1'];
+
settingsBlock = [bdroot '/parametros'];
 
[symbol_rate] = getSettings(settingsBlock,'symbol_rate');
 
[symbol_rate] = getSettings(settingsBlock,'symbol_rate');
 
[M_ary] = getSettings(settingsBlock,'M_ary');
 
[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.symbol_rate = symbol_rate;
 
p.M = M_ary;
 
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;
 
  
 
   
 
   
Linha 44: Linha 29:
 
  assignin('base', 'p', p);
 
  assignin('base', 'p', p);
  
 
+
function varargout = getSettings(settingsBlock, varargin)
 
 
function varargout = getSettings(settingsBlock, varargin)
 
  
 
  varargout = cell(size(varargin));
 
  varargout = cell(size(varargin));

Edição das 15h24min de 30 de novembro de 2015

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 '/parametros'];
[symbol_rate] = getSettings(settingsBlock,'symbol_rate');
[M_ary] = getSettings(settingsBlock,'M_ary');


p.symbol_rate = symbol_rate;
p.M = M_ary;

 
%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