Beruflich Dokumente
Kultur Dokumente
Introduo a Programao:
Entradas
Processamento
Dados Fornecidos
ao Programa
Lgica de Programao
Algoritmo
Dados Fornecidos
pelo Programa
Argumentos de
Entrada
Linguagem
Argumentos de
Retorno
Ex:
Dados
x1, x2, x3
Seqncia de comandos
???
Sadas
Retornar
menor Valor
Algoritmo:
Sequncia de Passos Lgicos:
Independente da Linguagem.
Dados:
Ler
x1
x1, x2, x3
x1 e x2
Se x1 < x2, min= x1
Se x2 < x1, min= x2
Comparar min e x3
Se min<x3 , min=min
Se x3 <min,min=x3
Retornar: min
Comparar
Linguagem MATLAB:
Ncleo da Linguagem formada por vetores e Matrizes.
Recursos de Programao.
Ferramenta de Interface Grfica com o Usurio.
Caixas de Ferramentas.
Comand Window: [ rea de trabalho]
>>demo [apresenta uma srie de demonstraes de uso]
>>tour [apresenta um tour pelo matlab]
Janelas MATLAB:
Comand Window: rea de Trabalho.
Comand History: Registro de Comandos executados na C.W.
Current Directory: Mostra Arquivos presentes no Diretorio Atual.
Worspace: Armazenamento de Variveis criadas na Comand Window.
M-file Editor: rea de Edio de arquivos.
Launch Pad: Caixas de Ferramentas do matlab.
Simulink: Ferramenta do Matlab para Sistemas Dinmicos.
Tipos de Variveis :
Real , Inteira: double array- variveis numricas.
Complexa: double array (complex)-variveis numricas.
Caracter: Char array-variveis de texto.
Clula: cell array-Permite armazenamento de variveis de
tipos diferentes no formato celular do Matlab.
Estrutura: struct array-Permite armazenamento de
variveis de tipos diferentes no formato estrutural do
Matlab.
[16 dgitos]
Comandos do MATLAB :
Na comand Window: ( >> sinal de prompt )
>>helpdesk [documentao]
>>helpwin [help on line]
>> help [ lista os tpicos de ajuda]
Ex: >>help elfun [ funes matemticas]
Fornece uma listagem de funes.
Para verificar o funcionamento de cada funo:
Ex:>>help sin [sin(X) is the sine of the elements of X.]
De maneira Geral:
[sada1,...,sadan]=comando(entrada1,...,entradan)
lookfor: procura de comandos com alguma palavra.
Primeiros Passos:
Aps abrir o Matlab e fazer um reconhecimento geral, a
primeira coisa a se fazer aps editar as suas preferncias,
selecionar o diretrio de trabalho.
Caso isso no seja feito, o Matlab salva os arquivos na pasta
Work dentro do diretorio no qual o Matlab se encontra
instalado.
Como mudar o Diretrio?
Opo 1: Na barra de ferramentas, em current directory,
clicar no boto [...] e selecionar o diretorio como no
explorer.
Opo 2: usando o comando [ cd ] e digitar todo o caminho
do diretorio, lembrando que nesse caso, no deve haver
espaos nem caracteres especiais. [help cd].
>>cd c:\meus_documentos
Vetores:
Criando um vetor:
Opo 1: >> C=[1 2 3 4 5] ou >> C=[1 ,2 ,3 ,4 ,5]
Opo 2: Usando comando linspace, ou logspace.
linspace(valor inicial, valor final, nmero de pontos)
linspace cria um vetor linearmente espaado.
>>C=linspace(1,5,5)
Opo 3: >>C=1:1:5
Valor inicial: incremento: valor final
Opo 4: Usando estrutura for
For i=1:5
C(i)=i; end
Obs: >>A=2;
O matlab encara a varivel A como uma matriz 1x 1.
Manipulao de Vetores:
Operaes Bsicas: +, - ,* ,/, ^
Operaes Ponto a Ponto: ./, .*, .^
Transposio: C [ transposta de C-usa aspas simples]
Operaes elementares:
Log exp sin cos tan etc...
>>help elfun
Ex:
>> a=[ 1 2 3]; b=[ 4 5 6];
>> a.*b
>>a*b
Matrizes:
Como criar:
Opo 1: a partir de vetores
C=[ 2 3];D=[ 3 4]; M=[C;D]
Opo 2: M= [ 2 3; 3 4] ou M=[ 2,3; 3, 4];
Opo 3: usando estrutura for
For i=1:2
For j=1:2
M(i,j)=i+j;
end
end
>>help printmat [ exibio da matriz na tela]
Manipulao de Matrizes:
Alm das operaes j citadas anteriormente para vetores.
>>help elmat
>>help matfun
>>help sparfun
Produto Matricial: A*B
Inversa: inv(A)
Determinante: det(A)
Posto: rank(A)
Valores Caracteristicos: eig(A)
rand , eye, zeros, ones- criam matrizes de ordens
definidas.
Indexao de Matrizes:
M(linha, coluna)
M(1,1)- retorna elemento M11
Caso no seja especificado a coluna da matriz, o que no
necessrio no caso de vetores, ele considera o vetor coluna
1.
Ex: A=[ 1 2; 3 4]
A(1)=1 A(2)=3
Pode-se tambm usar incrementos:
C=[ 1 2 3; 4 5 6];
C(1:2,2)=[2 ;5];
C(1,1:2:3)=[1 3];
C(1,2:3)=[2 3];
C(:,3)=[3; 6];
[:] indica todas as linhas ou colunas.
Matrizes Celulares:
Opo 1: Criando matriz celular vazia e depois preencher
M=cell( num linhas, num colunas), M=cell(2,3)
Opo 2: Preencher direto
M(1,1)={ [ 1 2; 3 4]}
Indexao de posies celulares:
M{ linha 1, coluna j}: M{1,2}=[ 1 2; 3 4];
Indexando elemento internos das clulas:
M{1,2}(2,1)=3
>>cellpisp exibe toda a clula
Utilizada para armazenar variveis matriciais ou de
diferentes tipos com fcil indexao.
Estruturas:
Como criar? Varivel: Marcelo
Marcelo.idade=25
Marcelo.peso=70
Marcelo.altura=1.70
Varivel utilizada para armazenar variaveis de tipos
diferentes de uma forma estruturada. Utilizada por
exemplo em Banco de dados com fcil acesso de
informaes.
Variveis de Texto:
Como criar?
D=valores
E= resultados obtidos
>>disp(D); exibe o texto contido em D
>>eval(D) ; avalia o contedo do string.
Ex:
>>T=D=2;
>>eval(T); cria a varivel D.
Concatenao:
Str=[ valor= D]
Vamos ver melhor para que a concatenao em interfaces.
Converso de Variveis:
>>help datatypes
>>help strfun
>>Char
[ converte para caracter]
>>Double [ converte para nmero]
>>int2str [ converte de inteiro para string]
>>str2int [converte de string para inteiro]
>>num2str [converte de real para string]
>>str2num [converte de string para real]
Funes de Arredondamento:
>>help elmat
>>help fix
>>help floor
>>help ceil
>>help round
>>help rem
>>help abs
>>help singn
[ resto de diviso]
[ modulo]
[ sinal ]
Controle de Fluxo:
>>help lang
Teste condicional:
If
else
end
Teste mltiplo:
Switch case
Exemplos:
If A==0
B=3
Else
B=4
end
otherwise
switch A
case 0 ; B=3;
otherwise; B=4; end
Controle de Fluxo:
Loops:
For i=1:10
A(i)=i;
end
A=[ 1 2 3 4 5 6 7 8 9 10]
O uso da estrutura for, limita o nmero de iteraes, ou
seja, o nmero de vezes que os comandos so executados.
it=0;
While it<10
it=it+1;
A(it)=it;
End
A=[ 1 2 3 4 5 6 7 8 9 10]
A estrutura while permite a execuo at que um critrio
seja satisfeito.
Arquivos M:
>> edit
Ou Menu File New--- M-file
O uso do editor permite que os comandos a serem executados
sejam salvos em um arquivo.
Tipos de arquivos:
Script [ entradas definidas internamente ou interativamente]
Function [ arquivo genrico com entradas e sadas]
Ex:
Script [soma.m]
A=2; B=3;
Soma=A+B
Execuo:
>>soma
Funo [som.m]
function S=soma(A,B)
S=A+B;
ou
>>som(2,3)
Argumentos de Arquivos M:
>>help iofun
Entrada de dados:
>> help xlsread [ l dados de uma planilha em excel]
>>help input
[ recebe entrada de dados na Comand Window]
>>help dlmread [ l dados em arquivo de texto]
>>help save [salva dados em arquivo .mat]
>>help load [carrega dados de arquivos .mat]
Sada de dados:
>> help diary [registro do log da sesso]
Pode ser usado para armazenar resultados em arquivo txt.
>>help disp
[exibio de texto e de variveis na tela]
Interfaces mais avanadas ser vista no capitulo Interfaces
com o usurio
Argumentos de Arquivos M:
>>help nargin [numero de argumentos de entrada de uma funo]
>>help nargout [numero de argumentos de uma funo]
Nargin pode ser usado para usar entradas opcionais.
Nargout pode ser usado para limitar a execuo de linhas de comando
desnecessaria se um dos argumentos de sada no pedido na chamada da
funo.
Quando criamos as nossas funes, podemos inserir um texto de ajuda
antes da primeira linha de comando, assim quando executarmos help
nome_da_funo esse texto ser exibido na tela.
function [s1,s2]=nome(e1,e2)
%Digite aqui o help da funo
if nargin<2;e2=0.001;end
S1=e1+e2;
if nargout<1; s2=2*e2;end
Execuo de Arquivos M:
>>help pause [permite uma pausa durante a execuo]
>>help echo [escreve na tela as linhas de comando]
>>help beep [emite um sinal sonoro]
>>help error [emite uma mensagem de erro na tela]
>>help warning [emite uma mensagem de warning na tela]
>>help keyboard [suspende execuo at que o teclado seja
acionado]
>>help waitforbuttonpress [suspende execuo at que o mouse seja
acionado]
Ou
Sub-rotina:
Function y=f(x,a)
Y= x2 ax+2;
Programa principal:
Function s=main(a)
s=fsolve(f,0,[],a);
Debugando Arquivos M:
Debugar, consiste em depurar o programa, ou seja, verificar a
existncia de erros.
>>help depfun [ dependncias do arquivo]
Permite o retorno de diretrios utilizados, funes
utilizadas,dentre outras informaes.
>>help profile [ Perfil de desempenho]
Traa um perfil de desempenho, com o tempo associado
execuo de cada comando, dentre outras informaes.
Uso:
>>profile on
>>minha_funo
>>profile report