Dica para trabalhar com variáveis no Simulink: mudanças entre as edições
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
1 Diretamente do terminal do MATLAB
2 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