Escolar Documentos
Profissional Documentos
Cultura Documentos
Palestrante
Vicente Angelo de Sousa Junior
Graduao em Engenharia Eltrica: 2000
Universidade Federal do Cear - UFC, Cear.
21/12/2010
Palestrante
2000: Pesquisador Junior:
PCT-Motorola (Universidade Federal do Cear - UFC, 2000). Matlab como auxlio a disciplinas.
2010-futuro: Professor
Universidade Federal do Cear , 2003-2004. Universidade Federal do Rio Grande do Norte, 2010-futuro Auxilio em disciplinas, trabalhos cientficos e projetos acadmicos Grupo de pesquisa: Grupo de Pesquisa em Prototipagem Rpida de Solues para Comunicao Sem Fio
Palestrante
1 captulo de livro internacional: 1 artigo em jornal internacional 1 artigo em jornal nacional 2 mini-cursos em congresso nacionais 19 artigos em congressos internacionais 8 artigos em congressos nacionais 2 softwares sem registro de patente 1 patente registrada internacionalmente Mais de 10 relatrios tcnicos em projetos com companhias internacionais de telecomunicaes
21/12/2010
Objetivos
MATLAB?? Algum conhece? O que j fez no Matlab? E quanto a outras linguagens de programao?
O mini-curso
Mdulo 1: Apresentao e Introduo ao Ambiente do Matlab
Introduo ao Matlab; Descrio do ambiente grfico e formas de acesso e manipulao de arquivos do Matlab; Comandos bsicos; Comandos de acesso rpido aos recursos do Matlab; Nmeros complexos, forma exponencial e cartesiana, mdulo e fase Dias/Horrios: 17/11/2010 (quarta), horrio: 9:00 12:00 (local: sala 4E5) 19/11/2010 (sexta), horrio: 9:00 12:00 (local: sala 4E5)
21/12/2010
O mini-curso
Mdulo 3: Controle de fluxo no Matlab e Grficos
Controle de fluxo no Matlab (Controle por laos; Controle de fluxo encadeado); Grficos bidimensionais; gerenciamento dos elementos grficos no Matalb; Grficos bidimensionais muito teis para Engenharia; Grficos tridimensionais. Dias/Horrios 20/11/2010 (sbado), horrio: 14:00-18:00 (local: sala 4E5) 22/11/2010 (segunda): 8:00 12:00 (local: sala 4E5)
Mdulo 4: Toolboxes do Matlab, Introduo ao Simulink , Casos de estudo e dicas de Otimizao de cdigos em Matlab
Toolboxes do Matlab Introduo ao Simulink Aplicao do Matlab a problemas prticos de engenharia. Casos de estudos: manipulao de imagens (jpg, png e gif); manipulao de som (wav). Otimizao de cdigos em Matlab Dias/Horrios: 22/11/2010 (segunda): 19:00-22:00 (local: sala 4E6) 24/11/2010 (quarta): 9:00 12:00 (local: sala 4E5) 26/11/2010 (sexta): 9:00 12:00 (local: sala 4E5)
21/12/2010
Introduo
O MATLAB um pacote de software para utilizao em atividades cientficas e de Engenharia.
Ele resolve problemas utilizando anlise numrica, matricial, processamento de sinais, controle, identificao de sistemas, redes neurais, etc., podendo apresentar solues grficas com a mesma facilidade das apresentadas pelas solues analticas.
O nome MATLAB significa Matrix Laboratory. A principal idia do MATLAB servir como uma ferramenta de prototipagem rpida por software. Possui uma vasta biblioteca de comandos. O MATLAB tambm uma ferramenta fcil de aprender, possui um cdigo otimizado para realizar operaes matemticas e sua linguagem interpretada, o que torna a identificao de erros mais simples.
Introduo
Desenvolvedor: Mathworks (http://www.mathworks.com) Distribuidor no Brasil: (http://www.opencadd.com.br)
21/12/2010
11
12
21/12/2010
Introduo
Programar em MATLAB
Vantagens
Linguagem de alto nvel Cdigo simples Implementao rpida e fcil Vrias bibliotecas com comandos e funcionalidades disponveis
Desvantagens
Lentido devido a ser uma linguagem interpretada M programao deixa o cdigo muito lento (tempo de execuo) Laos de concatenados geralmente so muito lentos
Arquivos .m
Tipo funo: definio de uma funo para tratamento de variveis locais
Nome: nome_da_funo.m (primeira linha a definio da funo)
21/12/2010
Exemplo de script
x = 1; s = 2; s+x
Nome do arquivo:
soma.m
Executar
> soma( 9, 13 ) ans = 22
Ainda
> help soma realiza a soma x + y
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
Ainda
Scritps podem chamar funes
Vamos praticar
A gua congela a 32o e ferve a 212o na escala Fahrenheit. Se C e F so temperaturas nas escalas Celsius e Fahrenheit, respectivamente, a frmula F = 9C/5 + 32 converte uma temperatura de escala Celsius para a Fahrenheit. Utilize linhas de comando do Matlab para converter a temperatura de 37oC para Fahrenheit. A seguir crie uma funo na qual o usurio entre um valor em graus Celsius e seja retornado o valor em graus Fahrenheit. Faa uma funo que pea a temperatura em oC ao invs de entrar como argumento. Nome do arquivo: converter.m e converter2.m
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
21/12/2010
Ambiente de desenvolvimento
Menu Principal Diretrio de trabalho Acesso ao Simulink
Histrico de comandos
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
Ambiente de desenvolvimento
(a partir da verso 2009)
Diretrio de trabalho Menu Principal Acesso a demos e vdeo-aulas Variveis
Menu rpido
Histrico de comandos
21/12/2010
Ambiente de desenvolvimento
(a partir da verso 2009)
Menu rpido
Ambiente de desenvolvimento
(a partir da verso 2009)
10
21/12/2010
Ambiente de desenvolvimento
(a partir da verso 2009)
Ambiente de desenvolvimento
(a partir da verso 2009)
11
21/12/2010
Ambiente de desenvolvimento
(a partir da verso 2009)
Videos sobre toolboxes, atualizaes do Matlab, entre outros A cesso a videos com demos, cursos por tema
*Break points estipulam em quais linhas o programa ir parar sua execuo e assim esperar o comando do usurio.
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
12
21/12/2010
*Break points estipulam em quais linhas o programa ir parar sua execuo e assim esperar o comando do usurio.
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
13
21/12/2010
Introduo
Teclas de acesso: Retornar a linha anterior Retornar a linha posterior
clc dir ls edit <arquivo.m> cd exit ver which What
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
% % % % % % %
limpa a rea de trabalho lista o diretrio de trabalho mesmo que o comand dir cria um arquivo para edio muda de diretrio sai do MATLAB mostra verso do Matlab e toolboxes do instalados % Identifica e localiza arquivo % exibe arquivos Matlab salvos no diretrio
Introduo
who whos % mostra as variveis de ambiente % mostra as variveis de ambiente com detalhes help <comando> % mostra a ajuda para o comando especificado lookfor <p. chave> % Procura comando baseado na palavra chave especificada clear all % limpa as variveis da memria clear <varivel> % limpa uma varivel especfica da memria memria pack % Comprime dados na memria (garbage collection) save (load) % salva (abre) variveis para o disco (workspace) saveas (open) % salva (abre) figuras (.fig)
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
14
21/12/2010
Introduo
Ambientes de Trabalho:
Opo 1: Atravs do editor Opo 2: Atravs da Janela de Comandos
Operaes Bsicas
Operaes Bsicas:
% Declarao de Variveis: a = 1; b=3; c=4.2; %Operaes Bsicas: % Adio S = a + b % Subtrao S = S - c; % Multiplicao S = a * b; % Diviso S = a / b;
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
% S % S
15
21/12/2010
Operaes Bsicas
Operadores Relacionais:
< <= > >= == ~= % % % % % % Menor que Menor ou igual que Maior que Maior ou igual que Igualdade Desigualdade
% Observaes: % - Existe diferena entre variveis % escritas em maisculas e minsculas. % - Ao colocar ";" ao final do comando, % o resultado no apresentado na tela.
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
Operaes Bsicas
Funes Trigonomtricas cos %Cosseno sin %Seno tan %Tangente csc %Cossecante sec %Secante cot %Cotangente sinh %Seno hiperblico cosh %Cosseno hiperblico tanh %Tangente hiperblica asin %Seno inverso Observaes:
- Os comandos acima recebem argumento em radiano - O Sufixo D recebe os argumentos em graus
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
16
21/12/2010
Operaes Bsicas
Funes Trigonomtricas:
acos atan %Cosseno inverso %Tangente inversa
Exemplo:
% Observaes: % Para converter radianos para graus utilize o % comando rad2deg (convert2deg) e para o inverso, utilize deg2rad. Exemplo: S = rad2deg(pi) ou convert2deg(pi) Z = deg2rad(180)
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
Operaes Bsicas
Exponenciais, Logaritmos, Arredondamentos e Mltiplos Comuns:
exp log log2 log10 sqrt %Exponencial %Logaritmo Natural %Logaritmo base 2 %Logaritmo base 10 %Raiz quadrada Arredondamento: floor % Arred. para baixo ceil % Arred. para cima round % Arred. para o inteiro mais prx. Exemplo: >> floor(3.4) >> ans = 3 Mltiplo Comum: gcd % mx. mlt. comum lcm % mn. mlt. comum Exemplo: >> lcm(3,2)
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
17
21/12/2010
Nmeros Complexos
Mdulo, Fase, Conjugado, Forma Exponencial e Cartesiana
abs angle conj imag real % % % % % Mdulo Fase Complexo conjug. Parte imaginria Parte real % Outras formas de atribuio % de nmeros complexos: >> z = complex(2,3); >> z = 2+4*j Exemplo: >> z = 3+2*j >> abs(z) >> angle(z) >> real(z) >> z = 2+4*i >> z = 4*exp(j*pi/3)
Vamos praticar
Atravs do MATLAB, calcule o valor de x nas expresses abaixo. a) x = 1 + 4 2 f ) x = tan 1 3 3 3 4 b ) x = 1 1 g ) x = (3 + 4 j ) 3
c) x = (1 + j ) 2 ln(3) j 4 d) x = +e 2 3 e) x = | 1 + 4 j |2 2
Armazene os comandos em um arquivo chamado: exercicio1.m e use o comando disp para mostrar os resultados no formato x = expresso = resultado
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
18
21/12/2010
Tipos de dados
O MATLAB tem vrios tipos de dados, alguns mais utilizados so:
Tipos de dados
strings so dados tipo texto, formados por cadeias de caracteres
ASCII (American Standard Code for Information Interchange). Cada caractere ocupa dois bytes de memria. No Matlab, uma string definida entre ' '. Exemplo. >> texto1 = 'Aluno'; c = '9';
Clulas (cell arrays) um tipo de varivel que permite armazenar matrizes de naturezas diferentes (escalares, vetores, matrizes, strings) em uma nica estrutura.
Para criar uma clula, utiliza-se a funo cell. Clulas utilizam {} ao invs de []. Exemplo: >> celula = cell(2); >> celula{1,1} = eye(2); >> celula{1,2} = 'matriz identidade 2x2'; >> celula{2,1} = 2; >> celula{2,2} = [1 2 3]
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
19
21/12/2010
Tipos de dados
Estruturas (structures) um tipo de dado que permite o
armazenamento de matrizes de naturezas diferentes (escalares, vetores, matrizes, strings) identificveis por nomes de campos.
>> s = struct('Aluno',{'Joao'},'Matricula',{001},'Nota',{1.0}); >> s(2).Aluno = 'Maria'; >> s(2).Matricula = 002; s= >> s(2).Nota = 10; 1x3 struct array with fields: >> s(3).Aluno = 'Jose'; Aluno >> s(3).Matricula = 003; Matricula >> s(3).Nota = 7; Nota
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
% Outras formas de atribuio % de nmeros complexos: >> out(1) = 'b'; >> out(3) = num2str(4); >> disp(out) b=4 >> eval(out); >> whos b
Name Size b 1x1 Bytes Class 8 double array
20
21/12/2010
Vamos praticar
Atravs do MATLAB, utilize uma varivel para armazenar as seguintes informaes:
Criar uma varivel chamada compras
Nome do script para criar a estrutura compras: compras_str.m Faa uma funo chamada addcompras para inserir itens na varivel compras (arquivo addcompras.m). Utilize o seguinte formato:
compras_saida = addcompras( compras_entrada, nome, quantidade, preco )
Prof. Dr. Vicente Angelo de Sousa Junior @ UFRN vicente.sousa@ct.ufrn.br
21
21/12/2010
Ax = B
A-1Ax = A-1B
x = A-1B
22