Programação em MatLab

Propaganda
Programação em MatLab
Prof. MSc Delnir M. de Lemos
1
Objetivos
Fornecer os conceitos básicos de
algoritmos e
programação utilizando o Matlab como
linguagem de desenvolvimento.
●
Dar a capacidade de análise e raciocínio
para
permitir resolver problemas através do
desenvolvimento de programas.
●
Prof. MSc Delnir M. de Lemos
2
1
Programa
Estrutura de um programa
• Entrada e saí
saída de dados no Matlab
• Instruç
Instruções condicionais
• Laç
Laços
• Funç
Funções
● Dados numé
numéricos
• Cadeia de caracteres
• Estruturas de dados mais complexas (structs...)
• Introduç
Introdução a Interface Grá
Gráfica do Matlab
●
Prof. MSc Delnir M. de Lemos
3
Aulas Práticas
Utilização intensiva do computador
• Postos de trabalho para 2 alunos
• Aulas uma vez por semana em coerência
temática com as aulas teóricopráticas
– muitos exercícios: Necessidade de
trabalho
em casa
• As frequências são individuais
●
Prof. MSc Delnir M. de Lemos
4
2
Bibliografia
• “Matlab 6, Curso Completo”, Duane Hanselman,
Prentice Hall
• “Matlab Primer”, Kermit Sigmon
• “Using Matlab”, Mathworks.
• “Getting Started with Matlab”, Mathworks
• “Using Matlab Graphics”, Mathworks
• "An Introduction to Computer Programing for Engineers
ans Scientists"
De Pacek e Juanes
• “Introduction to Programming with Matlab” by J. Michael
Fitzpatrick and
John D. Crocetti
• Help Online do Matlab
Prof. MSc Delnir M. de Lemos
5
Recursos Online
http://www.cti.furg.br/~dmlemos/LogPro.htm
Prof. MSc Delnir M. de Lemos
6
3
Linguagens de
programação
Prof. MSc Delnir M. de Lemos
7
Tópicos
• O que é um programa
• Matlab vs outras linguagens de
programação
• Paradigma de programação
• Fases de desenvolvimento de um programa
Prof. MSc Delnir M. de Lemos
8
4
O que é um programa?
• Computadores podem manipular e calcular
grandes quantidades de informação a grande
velocidade.
• São inúteis se não se específica
exactamente o
que queremos realizar com eles através de
comandos bem definidos.
• Um Programa é um conjunto de comandos.
Prof. MSc Delnir M. de Lemos
9
Linguagens de Programação
• A partir de 1940 foram sendo desenvolvidos
várias linguagens de programaç
programação:
– Máquina, baixo ní
nível, alto ní
nível,…
vel,…
– Matlab, C++, JAVA, Fortran,…
Fortran,…
• O que distingue as linguagens são os tipos de
problemas que pretendem resolver.
• Matlab:
Matlab: excelente para escrever pequenos
programas que manipulam nú
números. Problemas
complexos podem ser resolvidos em poucas linhas
de có
código.
Prof. MSc Delnir M. de Lemos
10
5
Exemplo de Programa
• Cálculo de uma mé
média ponderada:
– Notas: n1, n2 e n3.
– Pesos respetivos: p1, p2 e p3.
n1 p1+ n2 p2 + n3 p3
media =
p1 + p2 + p3
Prof. MSc Delnir M. de Lemos
11
Programa em C
Prof. MSc Delnir M. de Lemos
12
6
Programa em MatLab
% Programa para calcular uma media
ponderada
notas = input('Introduza as notas: ');
pesos = input('Introduza os pesos: ');
media = sum(notas*pesos)/sum(pesos)
Prof. MSc Delnir M. de Lemos
13
Comparação MatLab/C
• Matlab tem vantagens:
– Programas muito mais simples: escrita mais
rápida e com menos erros.
– Versatilidade, mais fácil de adaptar a
diferentes tipos de dados.
– Muito eficiente e melhor solução para
pequenos programas que envolvem cálculo
numérico
=> Muitos dos problemas de geomática
encaixam neste perfil
Prof. MSc Delnir M. de Lemos
14
7
Comparação MatLab/C
• Mas existe um preço a pagar:
– Para programas mais complexos, melhor outras
linguagens mais estruturadas que reduzem
a
possibilidade de erro. Ex: Sistemas
operacionais.
– Pouco optimizado para operações não
numéricas
(aplicações gráficas,
processadores de texto, etc…)
– Aplicações Matlab boas para quem conhece
Matlab
– Matlab é interpretado,
logo
Prof. MSc Delnir M. de
Lemos mais lento
15
Paradigma de Programação
• Metodologia de programação para
desenvolver
uma aplicação:
– Dividir para conquistar.
– Decomposição de cima para baixo (TopDown).
– Refinamento passo a passo.
Prof. MSc Delnir M. de Lemos
16
8
Fases de Desenvolvimento de
um Programa
• Análise do problema
– Especificação do problema
– Análise algorítmica
– Teste do algoritmo
• Implementação da aplicação
– Geração do código
– Teste e validação do código
Prof. MSc Delnir M. de Lemos
17
Introdução ao MatLab
MATLAB ( que abrevia MATrix
LABoratory – Laboratório de Matrizes) é um
programa de computador especializado e
otimizado para cálculos científicos e de
engenharia. Inicialmente era projetado para
cálculos com matrizes; ao longo dos anos,
transformou-se em um sistema computacional
flexível, capaz de resolver essencialmente
qualquer problema técnico.
Prof. MSc Delnir M. de Lemos
18
9
Vantagens do MatLab
Facilidade de Uso;
Independência de Plataforma;
Funções Predefinidas;
Desenhos Independentes de Dispositivos;
Interface Gráfica de Usuário (GUI)
O Compilador MATLAB (pcode)
Prof. MSc Delnir M. de Lemos
19
Desvantagens do MatLab
O MatLab tem duas desvantagens principais:
Primeiro, ele é uma linguagem interpretada;
Segunda desvantagem – CUSTO: uma
cópia completa do MatLab é de cinco a dez
vezes mais cara que um compilador
convencional C.
Prof. MSc Delnir M. de Lemos
20
10
O Ambiente MatLab
A unidade fundamental de dados em qualquer
programa MatLab é a matriz. Uma matriz é uma
coleção de valores de dados organizados em linhas e
colunas, determinada por um nome único.
Na execução do MatLab podem ser exibidas janelas
de diferentes tipos, as quais aceitam comandos ou
exibem informações.
Os 3 tipos mais importantes de janelas são: Janela
de Comandos, Janela de Figuras e Janela de
Edição/Depuração
Prof. MSc Delnir M. de Lemos
21
A Área de Trabalho MatLab
Ao iniciar o MatLab, aparece uma janela especial denominada área de
trabalho MATLAB.
Principais ferramentas presentes nela:
Janela de Comandos;
Janela de Histórico de Comandos;
Espaço de Lançamento;
Janela de Edição/Depuração;
Janela de Figuras;
Navegador do Espaço de Trabalho e Editor de Matrizes;
Navegador de Ajuda;
Navegador de Diretório Corrente.
Prof. MSc Delnir M. de Lemos
22
11
A Área de Trabalho MatLab
Permite verificar
ou alterar o
diretório corrente
Ajuda
Espaço de
Lançamento
Janela de
Histórico de
Comandos
Navegador
de Diretório
Corrente
Janela de
Comandos
Navegador da
Área de Trabalho
Prof. MSc Delnir M. de Lemos
23
A Janela de Comandos
A Janela de Comandos
fica mais à direita na
área de trabalho. Os
usuá
usuários podem inserir
comandos e ver as
respostas ali.
Prof. MSc Delnir M. de Lemos
24
12
A Janela de Histórico
de Comandos
Janela de Histó
Histó rico de
Comandos, mostrando dois
comandos sendo apagados.
Prof. MSc Delnir M. de Lemos
25
O Espaço de Lançamentos
O Espaç
Espaço de Lanç
Lançamento
é uma ferramenta especial
que agrupa referências a
documentaç
documentação,
demonstraç
demonstrações e
ferramentas relacionadas
para o pró
próprio MatLab e
para cada conjunto de
ferramentas que você
adquire.
A figura mostra o Espaç
Espaço
de Lanç
Lançamento com
referências expandidas para
o MatLab básico.
Prof. MSc Delnir M. de Lemos
26
13
A Janela de Edição/Depuração
Uma Janela de
Ediç
Edição/Depuraç
ão/Depuração é
usada para criar novos
arquivos M ou modificar
os já
já existentes.
A Janela é
essencialmente um
editor de textos de
programas, com
caracterí
características da
linguagem MatLab
destacadas por cores
diferentes.
Uma vez gravado o
arquivo M, ele pode ser
executado ao digitarmos
o seu nome na Janela
de Comandos.
Comandos.
A Janela de Ediç
Edição/Depuraç
ão/Depuração,
exibindo o arquivo calc_area.m
calc_area.m
Prof. MSc Delnir M. de Lemos
27
A Janela de Figuras
Desenho MatLab de
seno(x)
versus x.
Uma Janela de Figuras é
usada para exibir grá
gráficos
MatLab.
MatLab. Uma figura pode ser
a representaç
representação grá
gráfica
bidimensional ou
tridimensional de dados, uma
imagem ou uma GUI.
GUI.
Prof. MSc Delnir M. de Lemos
28
14
O Espaço de Trabalho MatLab
Um espaç
espaço de trabalho é a coleç
coleção de todas as variá
variáveis e matrizes que
podem ser usadas pelo MatLab quando um comando, arquivo M ou funç
função
em particular está
está em execuç
execução. Uma lista de todas as variá
variáveis e
matrizes pode ser gerada pelo comando whos.
whos.
Uma variá
variável pode ser apagada do espaç
espaço de trabalho usando o comando
clear.
clear. Este comando tem a seguinte forma:
clear var1 var2 ...
onde var1 e var2 são os nomes das variá
variáveis a serem apagadas.
Prof. MSc Delnir M. de Lemos
29
O Navegador do Espaço de
Trabalho
Permite que o conteú
conteúdo
do espaç
espaço de trabalho
possa ser examinado.
Fica no canto superior
esquerdo da área de
trabalho.
Prof. MSc Delnir M. de Lemos
30
15
O Editor de Matrizes
O Editor de Matrizes
é acionado clicando
duas vezes sobre uma
variá
variável no Navegador
do Espaç
Espaço de
Trabalho.
Trabalho. O Editor de
Matrizes permite que
o usuá
usuário modifique os
valores contidos em
uma variá
variável.
Prof. MSc Delnir M. de Lemos
31
Obtendo Ajuda
Existem 3 maneiras de
obter ajuda no MatLab:
MatLab:
• atravé
;
através do botão
• digitando helpdesk ou
helpwin;
helpwin;
• digitando help ou
lookfor seguindo do
nome de um comando.
Navegador de Ajuda
Prof. MSc Delnir M. de Lemos
32
16
O Caminho de Busca MatLab
A Ferramenta de Caminhos
Prof. MSc Delnir M. de Lemos
33
Alguns Comandos Importantes
• demo – executa demonstraç
demonstrações fornecidas no MatLab;
MatLab;
• clc – esvazia o conteú
conteúdo da Janela de Comandos;
• clf – esvazia o conteú
conteúdo da Janela de Figuras;
• clear – esvazia as variá
variáveis no espaç
espaço de trabalho;
• abort (^C) – interrompe a execuç
execução de um arquivoarquivo-M;
• ! – envia comandos para o sistema operacional do
computador;
• diary nome do arquivo – copia para um arquivo todos
os dados de entrada e a maioria dos dados de saí
saída digitados
na Janela de Comandos;
• diary off – suspende a entrada de dados no arquivo de
diá
diário;
Prof. MSc Delnir M. de Lemos
34
17
Erros de Programação
• Nunca use uma variá
variável com nome igual ao
de uma funç
função ou comando MATLAB. Se você
fizer isso, aquela funç
função ou comando ficará
ficará
inacessí
inacessível.
• Nunca crie um arquivo M com nome igual ao
de uma funç
função ou comando MATLAB.
Prof. MSc Delnir M. de Lemos
35
Utilizando o MatLab como
Prancheta de Rascunhos
Em sua forma mais simples, o MatLab pode ser
usado como prancheta de rascunhos para
efetuar cá
cálculos matemá
matemáticos. Os cá
cálculos são
digitados diretamente na Janela de Comandos,
usando os sí
símbolos +, -, *, / e ^, para soma,
subtraç
subtração, multiplicaç
multiplicação, divisão e potência,
respectivamente.
Apó
Após digitar uma expressão, o resultado é
automaticamente calculado e exibido.
Prof. MSc Delnir M. de Lemos
36
18
TESTE 1
1. Qual é a funç
função da janela de Comandos MatLab?
MatLab? E a da Janela de
Ediç
ç
ão/Depuraç
ç
ão?
E
a
da
Janela
de
Figuras?
Edi ão/Depura
2. Liste as diferentes maneiras de obter ajuda no MatLab?
MatLab?
3. O que é um espaç
ç
o
de
trabalho?
Como
você
pode
determinar o que
espa
está
á
armazenado
em
um
espaç
ç
o
de
trabalho
MatLab?
est
espa
MatLab?
4. Como você pode limpar o conteú
ú
do
de
um
espaç
conte
espaço de trabalho?
5. A distância percorrida por uma bola em queda livre é dada pela
equaç
equação (1) abaixo. Use o MatLab para calcular a posiç
posição da bola no
tempo t = 5 s se x0 = 10 m, v0 = 15 m/s e a = -9,81 m/s2.
6. Supunha que x = 3 e y = 4. Use o MatLab para avaliar a seguinte
expressão (2) abaixo.
1)
1
x = x0 + v0t + at 2
2
2)
x2 y3
( x − y )2
Prof. MSc Delnir M. de Lemos
37
TESTE 1
7. Execute os arquivos M calc_area.m
calc_area.m e sin_x.m
sin_x.m na
Janela de Comandos. Depois, utilize o Navegador do
Espaç
Espaço de Trabalho para determinar quais variá
variáveis estão
definidas no espaç
espaço de trabalho corrente.
8. Use o Editor de Matrizes para examinar e modificar o
conteú
conteúdo da variá
variável x no espaç
espaço de trabalho. Então, digite
o comando plot(x,y)
(x,y)
na
Janela de Comandos. O que
plot
acontece com os dados exibidos na Janela de Figuras?
Prof. MSc Delnir M. de Lemos
38
19
Download