Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção...

12
Matlab 1 Conceitos Básicos e Processamento Numérico

Transcript of Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção...

Page 1: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab 1

Conceitos Básicos eProcessamento Numérico

Page 2: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos
Page 3: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

1. Iniciar o programa Matlab.

Há duas formas:

Fazer duplo-clique sobre o atalho , existente no ambiente de trabalho do Windows

Menu Iniciar > Programas > Matlab > Matlab 5.3

Nota: O Matlab cria a seguinte janela, chamada Janela de Comandos.

Processamento Numérico e Simbólico

O Matlab executa dois tipos de processamento:

Numérico ( p.ex. : 243521 )

Simbólico ( p. ex. : 22 x )

O processamento numérico manipula expressões numéricas, isto é, expressões que só usam valores

numéricos, enquanto que o simbólico processa também expressões com valores não numéricos (símbólicos).

Neste primeiro exercício sobre Matlab abordaremos apenas o processamento numérico.

Operadores e Funções Elementares

Para a construção de expressões, o Matlab fornece operadores e funções.

Operadores aritméticos elementares:

Operação Operador Exemplo Prioridade

Adição + 6+2 3

Subtracção - 3-1 3

Multiplicação * 2*4 2

Divisão / 7/2 2

Potenciação (ab) ^ 5^2 1

Para alterar a ordem usual de execução das operações, usam-se parêntesis.

Funções elementares:

Função Descrição

abs(x) Valor absoluto

Conceitos Básicos e Processamento Numérico Pág. 1/11

As aspas identificam a linha de comandosA barra vertical que pisca, chama-se cursor

Page 4: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

)3114.(Solução:

Matlab Exercício 1

exp(x) Exponencial (ex)

gcd(x,y) Máximo divisor comum dos inteiros x e y

lcm(x,y) Mínimo múltiplo comum dos inteiros x e y

log(x) Logaritmo natural

log10(x) Logaritmo na base 10

sqrt(x) Raiz quadrada

Os nomes das funções devem ser escritos em minúsculas, porque o Matlab distingue as letras

minúsculas das maiúsculas.

Ajuda do Matlab

O Matlab oferece um grande número de comandos, e para ajudar, disponibiliza vários recursos on-line. Entre eles

destacam-se dois:

Comando help

Help Window (Janela de Ajuda)

1. Utilizar ambos os recursos para consultar a ajuda sobre a função sqrt

I. Utilizar o comando help:

» help sqrt

II. Utilizar a Janela de Ajuda:

a)Abrir a janela de ajuda, seleccionando o Menu Help Help Window

b)Fazer duplo-clique sobre o tópico matlab\elfun

c)Procurar o grupo Exponential e depois fazer duplo-clique sobre sqrt

d)Fechar a Janela de Ajuda

Expressões Numéricas

1. Calcular o valor da seguinte expressão numérica:

Procedimento:

I. Escrever a expressão na linha de comandos

II. Premir a tecla Enter para instruir o Matlab a calcular a expressão. Aparecerá na janela de comandos:

Observar que o Matlab designa o resultado de ans (abreviação de answer).

III. Alterar o formato do resultado para duas casas decimais (formato Bank):

a) Menu File Preferences

Aparece a seguinte caixa de diálogo:

Conceitos Básicos e Processamento Numérico Pág. 2/11

243521

Page 5: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

53

2

)3(5.15)2ln(

751 e

Matlab Exercício 1

b) Seleccionar o formato numérico Bank

c) Premir o botão OK

d) Calcular novamente a expressão.

Usar as teclas de movimento vertical (, ) para recuperar a expressão introduzida anteriormente.

O Matlab guarda os comandos executados.

De salientar que o formato numérico só altera a visualização do número e não a sua

representação interna.

IV. Repor o formato numérico usado por defeito (Short):

a) Menu File Preferences

b) Seleccionar o formato numérico Short (default)

c) Premir o botão OK

2. Calcular a expressão:

Para criar a raiz cúbica é preciso utilizar um expoente fraccionário ( 31

3 33 ).

Trigonometria

Para resolver problemas de trigonometria o Matlab fornece:

A variável pi, contendo o valor de . Saliente-se que o nome da variável pi tem de ser escrito emminúsculas.

As funções:

Função Descrição

acos(x) Arco co-seno

Conceitos Básicos e Processamento Numérico Pág. 3/11

)(Solução: 3778.10

Page 6: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

asin(x) Arco seno

atan(x) Arco tangente

cos(x) Co-seno

sin(x) Seno

tan(x) Tangente

1. Calcular o valor da seguinte expressão numérica:

Variáveis

Para facilitar a resolução de problemas em que é necessário utilizar repetidas vezes a mesma expressão, o Matlab

permite armazená-la numa variável e depois reutilizá-la as vezes que forem necessárias.

O comando para criar variáveis tem o seguinte formato:

» nome_variável_1 = expressão_1 ; nome_variável_2 = expressão_2 ; ... ; nome_variável_n = expressão_n

Regras para criar os nomes das variáveis:

Só devem possuir uma palavra, ou seja, não podem incluir espaços:

Nomes válidos Nomes inválidos

eq1

graus_centigrados

eq 1

graus centigrados

Só podem conter no máximo 31 caracteres

São proibidos caracteres acentuados ( p. ex., ç e ã ) e caracteres de pontuação ( p. ex., ponto-e-vírgula )

O matlab distingue as letras minúsculas das maiúsculas

Devem começar por uma letra

1. Criar, simultaneamente, as variáveis k e m:

» k = 1 + sqrt(5)/3 ; m = 10.3245

2. Criar as variáveis r e t, reutilizando as variáveis k e m:

» r = k * m – 15 ; t = k^2 + m

3. Consultar o valor da variável r:

» r

Números Complexos

Para o processamento de números complexos, o Matlab oferece:

Duas variáveis: i e j ( 1 ji )

As seguintes funções:

Função Descrição

abs(x) Módulo dum número complexo

angle(x) Ângulo dum número complexo

conj(x) Conjugado complexo

imag(x) Parte imaginária dum número complexo

real(x) Parte real dum número complexo

Conceitos Básicos e Processamento Numérico Pág. 4/11

)5

cos(2)4(

sen )91090.(Solução:

Page 7: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

1. Sabendo que:

calcular as seguintes expressões:

a * b

a / b

Procedimento:

I. Criar as variáveis a e b para representarem os números complexos indicados.

II. Calcular a expressão a * b:

III. Calcular a expressão a / b:

Conceitos Básicos e Processamento Numérico Pág. 5/11

ia 54 ib 21

Page 8: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

Armazenamento dos Dados Introduzidos

1. Espaço de trabalho (Workspace)

Os comandos introduzidos e as variáveis criadas, são armazenados no espaço de trabalho do Matlab e podem

ser chamados a qualquer momento.

I. Consultar a lista das variáveis existentes actualmente, escolhendo uma das seguintes formas:

Fazer clique no botão da barra de ferramentas

Menu File Show Workspace

O Matlab abre a seguinte janela, chamada Workspace Browser:

II. Consultar o conteúdo duma variável:

a) No espaço de trabalho fazer duplo-clique sobre uma variável

b) Fechar a janela Editor/Debugger

III. Gravar o espaço de trabalho para salvaguardar as variáveis criadas:

a) Na janela de comandos seleccionar: Menu File Save Workspace As ...

b) Seleccionar a sua pasta pessoal

c) Introduzir um nome para o ficheiro

IV. Eliminar uma variável:

a) Seleccionar uma variável no espaço de trabalho

b) Fazer clique no botão Delete do espaço de trabalho

V. Fechar a janela do espaço de trabalho

VI. Recuperar o espaço de trabalho gravado anteriormente:

a) Menu File Load Workspace

b) Seleccionar a sua pasta pessoal

c) Seleccionar o nome do ficheiro definido anteriormente no passo III

VII. Consultar a lista das variáveis existentes actualmente e verificar que está incluída a variável eliminada

no passo IV, depois de ter sido gravado o espaço de trabalho.

2. Janela de comandos

O Matlab permite guardar num ficheiro de texto (formato ASCII), designado diário, tudo o que é exibido na

área de trabalho da janela de comandos, ou seja, os comandos introduzidos pelo utilizador e as respostas do

Matlab. Para isso, o Matlab fornece os seguintes comandos:

Conceitos Básicos e Processamento Numérico Pág. 6/11

Page 9: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

diary nome_ficheiro ( armazena o diário no ficheiro nome_ficheiro do directório

corrente. Este directório é definido através do Menu File

Set Path ... ou do botão Path Browser )

diary off ( suspende o armazenamento )

diary on ( recomeça o armazenamento )

Os comandos diary on e diary off permitem controlar a informação a guardar no diário. O armazenamento

da informação começa após a criação do diário e pode ser suspenso com o comando diary off. Depois de

suspenso, o armazenamento pode recomeçar usando o comando diary on.

I. Definir como directório corrente a sua pasta pessoal

a)Fazer clique no botão Path Browser

b)Fazer clique no botão Browser...

c)Indicar a pasta pessoal

d)Premir o botão OK

e)Fechar a janela Path Browser

II. Instruir o Matlab a iniciar o armazenamento do trabalho no diário chamado matlab_1:

» diary matlab_1

III. Calcular as seguintes expressões:

a + b

a - b

IV. Suspender o armazenamento no diário:

» diary off

V. Abrir o diário matlab_1 no processador de texto do windows chamado Bloco de Notas e analisar o seu

conteúdo.

VI. Fechar o Bloco de Notas.

Vectores e Matrizes

Os vectores e as matrizes desempenham um papel central no Matlab porque permitem efectuar, de uma única

vez, a mesma operação sobre múltiplos valores. Por exemplo, para calcularmos os valores do seno(x) para 10

valores de x, primeiro criamos um vector V com os valores de x. Depois, pedimos ao Matlab para calcular o seno

do vector V, e o cálculo dos 10 valores do seno é feito de uma só vez. Caso contrário, era preciso pedir 10 vezes ao

Matlab para calcular o seno.

1. Construção de vectores

Há vários comandos:

I. Formato : variável = e1, e2, ..., en ou variável = e1 e2 ... en

Nota: Como separadores dos elementos (e1, ..., en) usam-se espaços ou vírgulas.

a) Criar o vector-linha x com os seguintes elementos: 4, -1, 5 e 11.

Conceitos Básicos e Processamento Numérico Pág. 7/11

Page 10: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

» x = 4, -1, 5, 11 ( ou x = 4 -1 5 11 )

b) Para evitar a resposta do Matlab à criação duma variável, é preciso terminar o comandocom ponto-e-vírgula. Experimentar por exemplo:

» x = 4, -1, 5, 11 ;

II. Formato : variável = início : fim

a) Criar o vector-linha x começando em 3 e terminando em 20, incrementando

sucessivamente os elementos de 1 em 1.

» x = 3 : 20

III. Formato : x = início : incremento : fim

a) Criar o vector-linha x começando em 3, incrementando sucessivamente os elementos de 5em 5, e terminando de modo a não exceder o 20.

» x = 3 : 5 : 20

IV. Formato : x = linspace ( início , fim , número de valores )

a) Criar o vector-linha x com 10 elementos linearmente espaçados, começando em 3 e

terminando em 20.

» x = linspace (3 , 20 ,10)

V. Ainda é possível definir um vector de elementos com espaçamento logarítmico, usando a função

logspace. Para mais pormenores consultar a ajuda do Matlab.

2. Determinar os valores duma função

I. Criar o vector x para guardar 15 valores do intervalo 0 x 2, linearmente espaçados:

» x = linspace (0 , 2 * pi ,15)

II. Determinar os valores do seno(x):

» sin(x)

3. Orientação dos vectores

Os vectores abordados anteriormente eram vectores-linha. Para criar vectores-coluna é preciso usar como

separadores dos elementos o ponto-e-vírgula.

I. Criar o vector-coluna v com os elementos: 7, -2 e 10.

» v = 7; -2; 10

Para transformar um vector-linha num vector-coluna, usa-se o operador de transposição pontuada, ponto

seguido de apóstrofo ( .‘ ).

II. Listar numa coluna os elementos do vector x

» x .’

4. Construção de matrizes

Aplicam-se as mesmas regras de construção dos vectores:

Vírgulas ou espaços para separar os elementos de uma linha

Ponto-e-vírgula para separar as linhas

I. Criar a matriz

3941

M

Conceitos Básicos e Processamento Numérico Pág. 8/11

Page 11: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

» M = -1, 4 ; 9, 3

5. Operações Vector-Escalar

As operações adição, subtracção, multiplicação e divisão dum vector por um escalar são aplicadas a todos

os elementos do vector. Por exemplo, na operação x + 3, em que x é um vector, o 3 é adicionado a todos os

elementos de x.

Calcular:

a) x + 3

» x + 3

b) 2 * M - 1» 2 * M - 1

6. Operações Vector-Vector

Distinguem-se dois tipos de operações:

Vectoriais:

o adição ( + )

o subtracção ( - )

o multiplicação ( * )

o divisão ( / )

o potenciação ( ^ )

Elemento-a-elemento (operações apenas entre elementos homólogos):

o multiplicação pontuada ( .* )

o divisão pontuada ( ./ )

o potenciação pontuada ( .^ )

I. Criar a matriz

21152

N

II. Calcular as seguintes operações:

a) M + N

» M + N

b) M x N» M * N

c) M / N

» M / N

d) M2

» M ^ 2

e) Multiplicação elemento-a-elemento das matrizes M e N:

» M .* N

f) Divisão elemento-a-elemento da matriz M por N:

» M ./ N

g) Potenciação N da matriz M, elemento-a-elemento:

» M .^ N

Conceitos Básicos e Processamento Numérico Pág. 9/11

Page 12: Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos

Matlab Exercício 1

7. Funções Matriciais

Funções para criar matrizes especiais cujos elementos são todos iguais a 0 ou 1:

Outras funções:

I. Resolver o seguinte sistema de equações:

a)Construir a matriz dos coeficientes do sistema C

» C = 1, -1/8, -1/4 ; 5/7, 1, -3/7 ; 5/9, 7/9, 1

b)Verificar se o determinante da matriz C é diferente de zero

» det(C)

c)Construir o vector coluna dos termos independentes T

» T = 0; 10/7; 46/9

d)Encontrar a solução do sistema

» inv(C)*T

Nota: solução do sistema =(1,2,3)

Conceitos Básicos e Processamento Numérico Pág. 10/11

ones ( n ) Cria matriz quadrada n x n com todos os elementos iguais a 1

ones ( L, C ) Cria matriz L x C com todos os elementos iguais a 1

zeros ( n ) Cria matriz quadrada n x n com todos os elementos iguais a 0

zeros ( L, C ) Cria matriz L x C com todos os elementos iguais a 0

size ( M ) Devolve a dimensão da matriz M

det ( M ) Devolve o determinante da matriz M

inv ( M ) Devolve a matriz inversa de M

946

97

95

710

73

75

041

81

zyx

zyx

zyx