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
(Criou página com '== Diretamente do terminal do MATLAB == == Bloco com parâmetros ==')
 
Linha 2: Linha 2:
  
 
== Bloco com parâmetros ==
 
== Bloco com parâmetros ==
 +
 +
<syntaxhighlight lang=matlab>
 +
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
 +
</syntaxhighlight>

Edição das 15h23min 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 '/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