Você está na página 1de 33

Aplicacionais para Ciências e

Engenharia

TP 2

Universidade de Aveiro

TP2 Aplicacionais para Ciências e Engenharia 1


Sumário

• Variáveis no Matlab
– Matlab como calculadora
– Definição de variáveis
– Números complexos
– Gravar e apagar variáveis

• Funções matemáticas
• Vectores
• Definição
• Representação no Matlab
TP2 Aplicacionais para Ciências e Engenharia 2
Sumário

• Matrizes
– Definição
– Representação no Matlab
• Geração de uma sequência de números
– Operador (:)
– Função linspace
• Indexação de Matrizes
• “Scripts” no Matlab
• Exercícios

TP2 Aplicacionais para Ciências e Engenharia 3


Variáveis no Matlab

• O Matlab como calculadora


– O Matlab permite o cálculo numérico directo a partir da
janela de comando.
• Operações matemáticas
+ soma
- subtracção
* multiplicação
/ divisão
^ potenciação

TP2 Aplicacionais para Ciências e Engenharia 4


Variáveis no Matlab
• Variáveis
– No Matlab é possível guardar em variáveis conjuntos de
números, exemplo:
»x= 2
– Os nomes das variáveis distinguem as letras maiúsculas das
minúsculas. Exemplo: piPi
– As variáveis são guardadas no espaço de trabalho
“workspace”
– As variáveis podem ser utilizadas nas operações da mesma
forma que os números.
– Se não for atribuída nenhuma variável o resultado é
armazenado numa variável temporária “ans”

TP2 Aplicacionais para Ciências e Engenharia 5


Variáveis no Matlab
•Variáveis pré-definidas
pi 
i 1
j 1
eps Precisão relativa do formato “double” 2-52
realmin Menor número real 2-1022
realmax Maior número real (2-eps)21023
Inf Infinito
NaN “Not-a-Number”
TP2 Aplicacionais para Ciências e Engenharia 6
Variáveis no Matlab

• Número complexos
– O Matlab permite a representação de números complexos.
Para criar o número complexo

1  2i ou 1  2 j
basta introduzir na janela de comandos:
»1+2i
ou
»1+2*i

TP2 Aplicacionais para Ciências e Engenharia 7


Variáveis no Matlab
• Apagar variáveis
– clear v1 v2 apaga as variáveis v1 e v2
– clear all apaga todas as variáveis
– clc limpa o ecrã, mas não apaga as variáveis
• Ver as variáveis no espaço de trabalho (“workspace”-WS)
– whos mostra todas as variáveis do espaço de trabalho
com informação adicional de dimensão e tipo
– who mostra apenas os nomes das variáveis
• Guardar variáveis
– save Guarda em disco todas as variáveis do “workspace”
– load Carrega do disco as variáveis guardadas
– save ficheiro v1 v2 Guarda as variáveis v1 e v2 no ficheiro
– load ficheiro Carrega as variáveis do ficheiro
TP2 Aplicacionais para Ciências e Engenharia 8
Variáveis no Matlab

• Regras para atribuição de nomes de variáveis


– Aceitam-se no máximo 31 caracteres (letras, números 3 “_”)
– O primeiro caracter tem de ser uma letra.

Exemplos
a1=2 , soma1=10
a_1=2, soma_2=20
Alguns erros frequentes
1a=2, 1_a=2
a 1=2, aula_nº1

TP2 Aplicacionais para Ciências e Engenharia 9


Funções matemáticas

• O Matlab dispõe dum vasto conjunto de funções


matemáticas. Eis alguns exemplos:
cos co-seno (radianos) log logaritmo neperiano (base e)
sin seno log10 logaritmo base 10
tan tangente rem resto da divisão inteira
acos arco co-seno abs valor absoluto
asin arco seno sign sinal
atan arco tangente round arredondamento para o mais
próximo
sqrt raiz quadrada floor arredondamento para baixo
exp exponencial ceil arredondamento para cima

TP2 Aplicacionais para Ciências e Engenharia 10


Funções matemáticas
• Algumas funções matemáticas podem devolver
números complexos para determinados valores do
argumento. Exemplos:
1  i log( 1)   i

TP2 Aplicacionais para Ciências e Engenharia 11


Vectores

• Conceito geométrico de vector (duas dimensões)


y Direcção

(a,b)
b
u lo
d

V

a x
TP2 Aplicacionais para Ciências e Engenharia 12
Vectores

• Num espaço com três dimensões são necessárias três


grandezas:

(a,b,c)
• Generalizando, um vector com N elementos pertence
a um espaço com N dimensões.
• Elementos de um espaço com mais de 3 dimensões
são difíceis de representar graficamente.

TP2 Aplicacionais para Ciências e Engenharia 13


Vectores

• No Matlab para criar um vector “v” basta fazer por


exemplo:

» v= [4, 5, 4, 2, 1, 7]
1 2 3 4 5 6

Índices

– Os elementos são separados por espaços ou vírgulas


• Num vector coluna os elementos são separados por “ ; ”
– Os índices são números inteiros e começam sempre pelo
número 1.
TP2 Aplicacionais para Ciências e Engenharia 14
Vectores

– Para obter um elemento do vector escreve-se no CW


>> V(3) ; ans=4
– Para substituir um elemento do vector escreve-se no CW
>> V(2) =10
V= [4, 10, 4, 2, 1, 7]

– Atenção
Novo elemento
>> V(0)
•??? Subscript indices must either be real positive integers or
logicals.
TP2 Aplicacionais para Ciências e Engenharia 15
Matrizes

Uma matriz pode ser utilizada como


um repositório de medidas
Exemplo:
Mede-se a temperatura do ar 4 vezes ao
dia, durante uma semana, numa estação
meteorológica.

TP2 Aplicacionais para Ciências e Engenharia 16


Matrizes

•Temperaturas registadas durante uma semana

10 11 10 9 10 11 10 
7 8 8 6 7 9 7

Medidas /dia
T  
 22 24 22 18 22 18 24
 
18 19 18 16 17 16 19 
Dia da semana

TP2 Aplicacionais para Ciências e Engenharia 17


Matrizes

• A organização da informação na forma de uma matriz


apresenta várias vantagens:
– A informação fica organizada
– Qualquer valor armazenado pode ser indexado de forma
inequívoca
– A representação abstracta de um conjunto de valores é
compacta (no exemplo anterior basta apenas a letra T para
representar 28 temperaturas)

TP2 Aplicacionais para Ciências e Engenharia 18


Matrizes

No Matlab para criar uma matriz “A” basta fazer por


exemplo:

» A= [4, 5, 4 ; 2, 1, 7]

Os elementos em cada linha são separados por espaços


ou vírgulas e a separação entre linhas por “ ; ”

TP2 Aplicacionais para Ciências e Engenharia 19


Matrizes

• Definição
– Organização bidimensional de dados
– Estrutura de dados primária em MATLAB
– Tabela de valores com m linhas e n colunas
– Extensão do conceito de vector

 a11 a12 a13  a1n  m vectores linha


a a22 a23  a2 n 
 21 n vectores coluna
 a31 a32 a33  a3n 
  Dimensão
      
am1 am 2 am 3  amn  MxN
TP2 Aplicacionais para Ciências e Engenharia 20
Matrizes

Exemplos: Vector
linha

16 2 3 13 1 
 5 11 10 8  3 v  1 2 3 4
A  v  1x 4
 9 7 6 12  1 
   
 4 14 15 1  7  n  7
4 x4 4 x1 1x1

TP2 Aplicacionais para Ciências e Engenharia 21


Matrizes Índices das
linhas
Índices:
16 2 3 13 1

 
A   5 11 10 8  2

3 4  9 7 6 12
  3

1 2 3 4
Índices das
colunas

TP2 Aplicacionais para Ciências e Engenharia 22


Matrizes

16 2 3 13 1

 
A   5 11 10 8  2

 9 7 6 12 3

1 2 3 4
A2,3
TP2 Aplicacionais para Ciências e Engenharia 23
Matrizes

– Para obter um elemento da matriz escreve-se no CW


>> A(2,3) ; ans=10
– Para substituir um elemento da matriz escreve-se no CW
>> A(2,2) =-20
16 2 3 13

A   5 20 10 8  
 9 7 6 12 
– Atenção
Novo elemento
>> A(2,5)
•??? Index exceeds matrix dimensions.
TP2 Aplicacionais para Ciências e Engenharia 24
Geração de uma sequência de números
• O operador “:”
– O mais versátil operador do MATLAB
– Permite definir de forma compacta um conjunto de valores
(vector) em progressão aritmética.

» % x = valor inicial : passo : valor final;


» % Nota: argumentos de “:” não podem ser
complexos
» x = 1:10;
» x = -pi : 2*pi/359 : pi;
» x = 100:-2:80;
• O recurso ao “:” não obriga à delimitação por []
TP2 Aplicacionais para Ciências e Engenharia 25
Geração de uma sequência de números
• Função Linspace
» % Quando sabemos os limites numéricos da
sequência
» % xi e xf e o número de elementos N então
devemos
» % recorrer à função
» x = linsapce(xi,xf,N);
» % Espaçamento linear (uniforme) entre os
elementos
» de x. Evita-se o cálculo do passo.
» x = linspace(10,-10,5)
x =
10 5 0 -5 -10

TP2 Aplicacionais para Ciências e Engenharia 26


Indexação de matrizes
• O operador “:” revela-se um poderoso meio de
indexação.
>> x = 1:2:50;
>> x(10:15)
ans =
19 21 23 25 27 29

• Vectores de índices
>> v1 = 10:15;
>> x(v1)
ans =
19 21 23 25 27 29

TP2 Aplicacionais para Ciências e Engenharia 27


Indexação de matrizes
>> A = magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

>> B = A(:,1:2:end) %B é composta pelas colunas ímpares de A


B =
16 3
5 10
9 6
4 15

>> last = A(end,end); % Última linha, última coluna


last = 1
TP2 Aplicacionais para Ciências e Engenharia 28
Indexação de matrizes
>> A(5,:)=[-1 4 3 5]; %É adicionada uma nova linha à matriz A
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
-1 4 3 5 Nova linha

>> A(:,2:2:end)=[]; %São eliminadas as colunas pares de A


A =
16 3
5 10
9 6
4 15
-1 3

TP2 Aplicacionais para Ciências e Engenharia 29


“Scripts” no Matlab

• Os “scripts” no Matlab são ficheiros de texto com


instruções Matlab.
– Quando na janela de comandos do Matlab se escreve o
nome do “script” as instruções nele contidas são
executadas sequencialmente.
– Os “scripts” permitem assim automatizar um conjunto de
procedimentos.

TP2 Aplicacionais para Ciências e Engenharia 30


“Scripts” no Matlab

Para abrir o editor do Matlab basta entrar o comando


edit ou utilizar o menu.

Este asterisco indica


alterações não gravadas
Chamada do
Instruções a executar “script” teste

Resultados
Comando para abrir um
“script novo”
TP2 Aplicacionais para Ciências e Engenharia 31
Exercícios (1)

• Crie um “script” no Matlab e guarde-o num


directório com o seguinte nome: teste.m
Edite o “script” e escreva os seguintes comandos:

a=2
b=3
c=a*b
Guarde o ficheiro e no Matlab mude o directório
corrente para a pasta onde guardou o “script”. Na
janela de comandos entre o comando: teste
TP2 Aplicacionais para Ciências e Engenharia 32
Exercícios (2)

• Elabore um “script” Matlab que resolva os seguintes


problemas:
– Gere uma sequência de números impares entre 1 e 10
– Gere uma sequência de 11 números inteiros entre -5 e 5.
(resolva de 2 formas)
– Gere a seguinte matriz 1 5 1  j 
A 
4 j 1 

– Acrescente uma nova linha e coluna à matriz A


– Apague as colunas impares.

TP2 Aplicacionais para Ciências e Engenharia 33

Você também pode gostar