ALGORITMOS – AULA 2 Tipos Primitivos, Variáveis e Operadores Aritméticos.
Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção...
Transcript of Conceitos Básicos e Processamento Numéricoasilva/Sebenta_IAC2_MatLab1.pdf · Para a construção...
Matlab 1
Conceitos Básicos eProcessamento Numérico
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
)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
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
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:
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
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
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
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
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
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