Dica para trabalhar com variáveis no Simulink: mudanças entre as edições
Linha 13: | Linha 13: | ||
== Bloco com parâmetros == | == Bloco com parâmetros == | ||
Outra forma de trabalhar com variaveis no modelo de simulação é atraves da criação de um bloco que contém todas essas variáveis | |||
dentro de uma '''struct'''. Primeiramente adicione no modelo um bloco chamado Subsystem. Em seguida clique sobre o bloco e aperte ctrl + M criando uma mascara no bloco. | |||
botão direito no bloco e mask - create mask | |||
===Definir parâmetros da máscara=== | ===Definir parâmetros da máscara=== |
Edição das 18h39min de 30 de novembro de 2015
1 Diretamente do terminal do MATLAB
Você pode declarar as variáveis que queira usar no modelo pelo próprio terminal do MATLAB como mostrado na figura abaixo:
E utilizar estas variáveis nos blocos da seguinte forma:
2 Bloco com parâmetros
Outra forma de trabalhar com variaveis no modelo de simulação é atraves da criação de um bloco que contém todas essas variáveis dentro de uma struct. Primeiramente adicione no modelo um bloco chamado Subsystem. Em seguida clique sobre o bloco e aperte ctrl + M criando uma mascara no bloco.
botão direito no bloco e mask - create mask
2.1 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
2.2 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
2.3 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. Certifique-se qu eesteja no diretório onde esta salvo tanto o modelo como o arquivo .m (os dois devem estar no mesmo diretório)