Dica para trabalhar com variáveis no Simulink
Revisão de 16h52min de 30 de novembro de 2015 por Rogerio.j (discussão | contribs) (→Diretamente do terminal do MATLAB)
Diretamente do terminal do MATLAB
Bloco com parâmetros
Adicione no modelo um bloco chamado subsystem, botão direito no bloco e mask - create mask
Definir parâmetros da máscara
- No Editor de máscara, clique na guia Parameters & Dialog;
- Clique no ícone Edit parâmetro e adicione duas linhas;
- Nas linhas que aparecem, especifique os parâmetros da seguinte forma.
Na coluna Prompt você especifica sobre a variavel Na coluna Name você da o nome a variavél que sera utilizada no modelo Click Apply.
Para saber mais sobre configuração de mascaras acesse : Mask a Block ou Block Masks
Arquivo .m com as instruções
Após esse processo escreva um arquivo .m com isso:
function parametros
persistent postloadFlag;
if isempty(postloadFlag)
postloadFlag = true;
else
if postloadFlag
postloadFlag = false;ip
return
end
end
settingsBlock = [bdroot '/Subsystem']; % Nome do bloco
[symbol_rate] = getSettings(settingsBlock,'symbol_rate'); % Nome do parametro
[M_ary] = getSettings(settingsBlock,'M_ary');
p.symbol_rate = symbol_rate;
p.M = M_ary;
% Atribuir variáveis na forma de struct para o workspace do MATLAB
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
Inicialização do arquivo .m dentro da mascara do subsistema criado
Vá novamente no subsistema onde você criou a mascara e vá em mask-edit mask. Escolha o campo Initialization e coloque o nome dado a este arquivo.m
Assim, você utiliza essas variaveis pelo modelo, e pode altera-las apenas dando dois clique no bloco mascarado e alterando por la os valores dos parametros