Você está na página 1de 23

Criando scripts de

programas no Matlab
(parte 2)

Programação em Matlab

2011
Uso de programas na área de
trabalho
 Nesta sessão você aprendera como criar scripts de
programas.
 Aplicações as vezes necessárias em problemas da
teoria de Controle.
 Esses recursos são úteis no desenvolvimento de
modelos na simulação de casos.
Tópicos a serem abordados

 Ambiente de Edição
 Operadores Relacionais e Lógicos
 Estruturas Condicionais e Loopings
 Arquivos M-file (Scripts e Functions)
 Textos (strings)
 Entradas e saídas
 Exemplos
Visão geral

 Matlab® suporta algumas estruturas


básicas de programação onde é possível
interagir com equações matemáticas na
simulação
 A síntese utilizada é muito similar as
encontradas nas linguagens de alto nível
como o Fortran, Basic eC++
Operadores relacionais e lógicos
 Operadores relacionais permitem comparações
de números escalares (ou matrizes de mesmo
tamanho e argumentos), se forem verdadeiras
retorna como resposta “1”, se falsas “0”
 Operadores utilizados:

< (menor que) <= (menor igual) = = igual


> (maior que) >= (maior igual) ~ = diferente
Exemplo:
Observe e acompanhe com o Matlab

a=[1+j pi 2 3.14 1-i]; b=[1-i 3.14 2 3.14 1+i];


c=a>b

Comente os resultados
Estruturas condicionais e loopings
 São três comandos disponíveis que permitem
executar loopings, são eles
– For
 >> for variável=expressão, declaração, ...declaração,
end;.
– While
 >> while expressão, declaração ....declaração, end;
– If, else elseif
 >> if expressão 1, declaração ,.... declaração,...
elseif expressão 2, declaração ,.... declaração,...
else declaração, ......,
End
Exemplo:
Observe e acompanhe com o Matlab

>> for n=1:5


for m=5:-1:1
A(n,m)=n^2+m^2;
end
disp(n)
end
Comente e acompanhe
os resultados
Exemplo:
Observe e acompanhe com o Matlab

>> f=[1 1]; i=1; while f(i+1)+f(i)<100; f(i+2)=f(i+1)+f(i); i=i+1; end; f

Comente e acompanhe
os resultados

Nota: o exercício mostra a famosa série de Fibonacci


Exemplo:
Observe e acompanhe com o Matlab

p=[1 2 3]; q=[1 2 3 4 5 6];


lp=length(p); lq=length(q);
if lp==lq, break
elseif lp>lq
q=[zeros(1,lp-lq) q]
else p=[ zeros(1,lq-lp) p]
end;
Comente os resultados

Tente o programa com esses vetores


p=[1 2 3 4]; q=1;
Textos
 Textos e strings podem ser utilizados com
o comando disp ‘ texto’ ou com variáveis
strings.Ex.:
Varst=‘variavel string’
 Podemos retomar valores dentro de uma
string através do comando eval.
Comandos de Entradas e Saidas
 O matlab permite comandos que podem
criar programas interativos. Como :
– Pause (parada temporária)
– Echo (on, off)
– Keyboard (parada de programa para o teclado)
– x=input(‘prompt’) (introduz valores em x)
Exemplo:
Observe e acompanhe com o Matlab

f1=‘prod(1:n)’;
f2=‘n=input(‘‘ entre um numero:_’’); z=eval(f1); disp(‘‘n!
(fatorial) é ’’), disp(z)’;
eval (f2)

Comente os resultados
Ambiente de Edição
 No modo de edição é preciso estar dentro
de um editor de texto do tipo ASCII (por
exemplo: Bloco de Notas).
 Nas versões recentes existe um editor
específico em podemos testar e validar o
programa, ( a partir das Versões 5.x e 6.x).
“Scripts” e “functions”
 Scripts são usadas no intuito de formalizar operações longas e
complexas evitando digitalização de conteúdos extensos.
Utiliza editores de textos no formato ASCII com a terminação
“.m”
 Functions são também arquivos do tipo M-file, mas são
utilizadas para permitir parametrizar valores durante uma
chamada de comando no Workspace do matlab. As functions
usam variáveis locais. Uma outra diferença é que uma
functions deve sempre inicializar com a palavra function. Ex.:
Function [ out1, out2,....]=filename(in1, in2,...)
% comentários para documentação
Comandos do matlab
 Os toolbox do matlab são escritos em functions e a maioria dos
comandos.
%======================================================
% Programa exemplo da aula_02 - Conceitos Básicos
%======================================================
% Essa sub rotina limpa as variáveis da memória e tela.
clear
Exemplo
home
echo off % este comando evita mensagens na janela de
comandos.
Programa
elaborado no
% Exemplos do uso de textos ambiente de
disp ' ' edição do
disp ' '
disp ' Helo Mundo !!! '
Matlab®.
disp ' '

a1=' o bom !!!'; % motagem de strings


a2=' apesar de ter ';
a3=' anos';
nome=input(' Digite seu nome: ','s');
home
x=input(' Digite sua idade: ')
idade=num2str(x);
texto1=[nome a1];texto2=[a2 idade a3];
home
disp ' '
disp (texto1)
disp ' '
disp (texto2) Programa: helo.m
Importante:
 Necessário colocar a terminação “.m” em
todos os nomes de programas quando forem
salvos, para que o compilador do matlab
reconheça o programa.
 Em certas versões, o programa deve estar
no diretório /bin do matlab para poder ser
executado.
Exercício:
Crie um programa para as seguintes características:
-Home: limpa a tela e inicia o prompt no canto superior esquerdo
-Clear : limpa dados anteriores no inicio do problema
-Echo of: evita mensagens de erro durante a execução do programa
-“ % ” introduza um comentário identificando autor, características do
programa, data, etc. Coloque se puder um resumo do programa.
-Disp (‘texto’) - coloque um texto inicial no programa
-End – finalize a execução com este comando.
-Salvar o programa com o nome de “inicio.m”
-Execute o programa chamando no ambiente Workspace

Nota: não se esqueça de salvar o programa com a terminação (.m)


Aplicações diretas
%=====================================
% Expansão da função de transferência em frações parciais
% =======================================
clear
home
disp(‘===================================')
disp(' ')
disp(' Frações Parciais ')
disp(' ')
disp('===================================')
num=input('numerador = ');
den=input('denominador = ');
printsys( num,den)
[r,p,k]=residue(num,den)
end

Comando :printsys(num,den), mostra a função de transf.


residue(x,y) onde x é o numerador e y denominador
Exemplos de programas:

n=1; y=zeros(200,10); i=1;


for del=0.1:0.1:1
d=[1, 2*del, 1];
t=[0:0.1:19.9];
y(:,i)=step(n,d,t);
i=i+1;
end
mesh(fliplr(y),[-120 30])

Tente melhorar o programa com uma nova entrada do vetor


y, utilizando o comando input.
Resumo
 Nesta seção foi mostrado a estrutura de
programas no ambiente matlab, com algumas das
possíveis implementação de programas voltado
para a área de controle
 Dessa maneira podemos implementar os modelos
guardando os modelos dentro de estruturas que
podem ser alteradas e implementadas facilmente
 Perguntas e dúvidas a serem manisfestadas
pelos alunos
Onde obter mais informações
 Sites da matworks e assuntos relacionados
ao Matlab
 Help dos toolbos do Matlab
 Liste os livros, os artigos, as fontes
eletrônicas
 Serviços de consultoria
 Biblioteca
Vocabulário
 Toolbox
 Scripts.
 Functions
 Variáveis locais e globais
 Outras.

Você também pode gostar