Académique Documents
Professionnel Documents
Culture Documents
Adaptado de Profa. Carla Salso Freitas e profa. Luciana Nedel Por Profa. Patrcia Jaques
Problemas expressos numa forma mais prxima da notao matemtica Interpreta comandos do usurio dados na janela de comando. Experimente: >>sqrt(64) Elemento bsico de informao: MATRIZ tima performance Alto nvel
Pacotes cientficos
MATLAB (www.mathworks.com)
linguagem de programao ambiente para desenvolvimento sistema grfico funes matemticas
Introduo Trabalha apenas com um tipo de objeto: Matrizes Os elementos das matrizes podem ser nmeros complexos Escalares so matrizes 1x1 ex: >> a= 6 Vetores so matrizes 1xN ou Nx1 Entrando com uma matriz (3 maneiras):
>>A = [1 2 3 456 7 8 9]
Matriz
A = [1 2 3;4 5 6;7 8 9]
1 4 2 5 3 6
Introduo Se no final da linha for colocado um ;, o Matlab executa o comando mas no mostra o resultado >>A = [1 2 3;4 5 6;7 8 9]
A = [1 2 3;4 5 6;7 8 9]
1 1 2 3
2
1 2
3
4
linha
colun a
1
4 10 7
2
5 8
3
6 9
7 8
A(2,1)=10
A(2)=10
2 5 8 11
3 6 9 12
Se a expresso to grande que no cabe em uma linha, pode-se continuar a expresso na prxima linha usando um espao em branco e 3 pontos:
>> s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 -1/8 + 1/9 - 1/10 + 1/11 - 1/12 + 1/13;
10
O comando who lista as variveis da rea de trabalho whos mostra detalhes sobre as variveis clear; clear var;
11
Operadores:
^ / \ * + exponenciao diviso direita diviso esquerda multiplicao adio subtrao
12
Formatos de sada
O comando format modifica o modo como as matrizes so mostradas format
short (default) short e long long e hex rat bank 1.3333 1.3333e+000 1.33333333333333 1.33333333333333e+000 40040000000000000 4/3 1.33
13
Help O comando de ajuda help fornece informaes sobre os tpicos help <tpico> -> mostra comandos relacionados ao tpico help <comando> -> mostra detalhes sobre o comando Exemplo: >> help format
14
A
1 2 3
A
1 4 7 2 5 8
4 5 6 7 8 9
3 6 9
det(A)
Determinante da matriz A.
inv(A)
Inversa da matriz A
15
A
1 2 3 4 5 6
7 8 9
1 4 7 2 5 8 3 6 9
2 6 10 6 10 14 10 14 18
16
Operaes com matrizes Multiplicao indicada por *. S vlida quando a 2a. dimenso da 1a. matriz for igual a 1a. dimenso da 2a. matriz.
mxn e nxp
Ex: >> A*B
17
Operaes com matrizes A multiplicao de escalar por matriz e vice-versa tambm vlida. Ex: >> B=2*A
A
1 2 3
2*
4 5 6 7 8 9
2 8
4 6 10 12
14 16 18
18
Operaes com conjuntos So operaes aritmticas realizadas elemento por elemento da matriz. Usa-se os mesmos caracteres das operaes usuais precedidos por um ponto (.*, ./, .\, .^) Exemplo: Crie duas matrizes quadradas a e b Faa: >>a*b >>a.*b
19
Manipulao de vetores e matrizes Gerando vetores: a declarao >>x = 1:5 gera o vetor linha x = 1 2 3 4 5 . (incremento de 1) A funo k=linspace(0,1,6) gera um vetor linearmente espaado de 0 a 1, contendo 6 elementos
k=0 0.2000 0.4000 0.6000 0.8000 1.0000
20
Manipulao de vetores e matrizes Elementos das matrizes: utiliza-se ndices entre parnteses.
>> >>A(3,3) = A(1,3) + A(3,1)
A=1 2 3 4 5 6 7 8 10
A(2,1) = 4 A(1:2, 2:3) = 0 elementos A(1,2), A(1,3), A(2,2), A(2,3) so zerados. A(:,3) = 0 elementos da terceira coluna so zerados. >>A(1:2,3) especifica uma submatriz 2x1 com os 2 primeiros elementos da terceira coluna de A
ans = 3 6
MATLAB - INF01040 - Profa. Patrcia Jaques
21
concatenao
formar matriz usando outras (inteiras ou partes) como elementos
Ex.: sendo A = [1 2 3; 4 5 6; 7 8 9] uma matriz 3 x 3,
A(1,:) = 1 2 3 e A(3,:) = 7 8 9 Ento, B = [A(1,:); A(3,:)] uma matriz 2 x 3 contendo a primeira e a terceira linhas de A.
22
23
24
Se A uma matriz quadrada, ento diag(A) um vetor cujos componentes so os elementos da diagonal de A.
A=[3 11 5; 4 1 -3; 6 2 1] diag(A)
ans = 3 1 1
MATLAB - INF01040 - Profa. Patrcia Jaques
25
26
Funes Escalares
As funes escalares mais comuns so:
sin - seno asin - arcoseno abs - valor absoluto round - arredonda cos - cosseno acos - arco cosseno log - log natural sqrt - raz quadrada floor - arredonda na direo de menos infinito tan - tangente atan - arco tangente rem - resto da diviso ex: rem(10,3) sign - funo sinal ceil - arredonda na direo de mais infinito
27
Funes Vetoriais Outras funes do Matlab operam essencialmente sobre vetores (linha e coluna) Mas em uma matriz m x n, agem sobre coluna por coluna para produzir um vetor linha com o resultado de sua aplicao para cada coluna. possvel operar sobre linha por linha transpondo-se a matriz, por exemplo:
a = rand(5) mean(a) mdia de cada coluna mean(a) mdia de cada linha
28
Exemplo:
max(max(a)) max(a)
29
Anotando comandos usados diary nome do arquivo - cria arquivo texto no qual ficaro registrados os comandos e as variveis subseqentes. diary off - fecha arquivo e salva-o como texto. type nome do arquivo - apresenta na janela de comando todo o contedo do arquivo. possvel tambm abri-lo em editores de texto ASCII.
30
Paginando sada na janela de comando more on - quando uma sada for muito extensa, mostra somente uma tela de cada vez.
Enter avana uma linha. Barra de Espao avana uma tela. q pra de mostrar sada.
31
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 6 7 7 8 8 9 9 10
0 -1 -2 -3 -4 1 0 -1 -2 -3 2 1 0 -1 -2 3 2 1 0 -1 4 3 2 1 0
32
Controle de fluxo
Lao while
a = 1; b = 15; while a<b clc a = a+1 b = b-1 end disp(fim do loop)
if
for i = 1:5 for j = 1:5 if i == j A(i,j) = 2; else if abs(i-j) == 1 A(i,j) = -1; else A(i,j) = 0; end end end end
33
34
Comentrios:
% comentrio de linha texto apos o % na mesma linha no ser executado
35
Outros comandos
Entrada de dados: Receber um dado numrico do usurio
<varivel> = input('<mensagem>'); Exemplo:
n1 = input('Digite um numero: ')
36
Resolvendo Equaes Polinomiais Achar razes de um polinmio: 4x=0 tem duas razes nulas.
>>p=[4 0 0] >>r=roots(p)
r= 0 0
37
38
Atividade Exemplo:
f(x) = 3*x^4-0.5.*x^3+x-5.2 (x assume valores escalares)
p = [3 -0.5 0 1 -5.2]; f = polyval(p,x);
39
...Grfico gerado
40
41