Mudanças entre as edições de "Dica para trabalhar com variáveis no Simulink"
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
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:
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
- 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. 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)