Carregar apresentação
A apresentação está carregando. Por favor, espere
1
MATLAB - Matrix Laboratory Adaptado de Profa
MATLAB - Matrix Laboratory Adaptado de Profa. Carla Salso Freitas e profa. Luciana Nedel Por Profa. Patrícia Jaques
2
MATLAB Software para análise numérica Problemas expressos numa forma mais próxima da notação matemática Interpreta comandos do usuário dados na janela de comando. Experimente: >>sqrt(64) Elemento básico de informação: MATRIZ Ótima performance Alto nível
3
MATLAB (www.mathworks.com)
Pacotes científicos MATLAB ( linguagem de programação ambiente para desenvolvimento sistema gráfico funções matemáticas
4
Trabalha apenas com um tipo de objeto: Matrizes ex: a= 6
Introdução Trabalha apenas com um tipo de objeto: Matrizes ex: a= 6 Vetores são matrizes 1xN ou Nx1 ex: A=[1,2,3] Entrando com uma matriz (3 maneiras): >>A = [1 2 3 4 5 6 7 8 9] >>A = [1 2 3;4 5 6;6 7 8] através de um arquivo (ex: gera.m) >>gera
5
Diferencia maiúsculas de minúsculas!
Matriz A = [ ; ; ] 1 2 3 4 5 6 7 8 9 Diferencia maiúsculas de minúsculas!
6
Elementos das matrizes podem ser uma expressão
Introdução Se no final da linha for colocado um “;”, o Matlab executa o comando mas não mostra o resultado >>A = [1 2 3;4 5 6;7 8 9] >>B = [1 2 3;4 5 6;7 8 9]; Elementos das matrizes podem ser uma expressão >>x = [ sqrt(2) ((1+2+3)*4/5)^2] resulta em: x = Elementos são referenciados por índices entre parênteses: x(1) = 5 resulta em: x = Índices começam em 1
7
Acessando um elemento da Matriz
linha 1 2 3 coluna 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 A(2,1)=10 10 A(2)=10
8
Grandes matrizes podem ser geradas a partir de pequenas:
Introdução Grandes matrizes podem ser geradas a partir de pequenas: >> r=[ ]; O comando abaixo anexa à matriz A o vetor r >> A = [1 2 3;4 5 6;7 8 9] >>Y=[A;r] Y= 1 2 3 4 5 6 7 8 9 A r
9
Pequenas matrizes podem ser extraídas de grandes matrizes usando “:”
Introdução Pequenas matrizes podem ser extraídas de grandes matrizes usando “:” (deLinha:ateLinha,deColuna:ateColuna) >>J=Y(1:3,:) a partir da linha 1, seleciona 3 linhas e todas as colunas A= 1 2 3 4 5 6 7 8 9 k=Y(1:2,3:3) SELECIONA AS LINHAS DE 1 A 2 E A COLUNA 3
10
Variáveis e informações da área de trabalho
Variáveis são declaradas na forma: variável = expressão “ans” ® (answer) variável default caso um nome seja omitido.
11
Variáveis e informações da área de trabalho
O comando “who” ® lista as variáveis da área de trabalho “whos” mostra detalhes sobre as variáveis clear; clear var; Teclas para retomar comandos digitados anteriormente
12
Números e expressões aritméticas
Notação decimal convencional Ex: E e23 Operadores: ^ exponenciação / divisão à direita \ divisão à esquerda * multiplicação + adição - subtração
13
Formatos de saída O comando format modifica o modo como os valores são mostrados format short (default) short e e+000 long long e e+000 hex rat 4/3 bank Exemplo: >>a=2/3 >>format bank >>a
14
Help O comando de ajuda “help” fornece informações sobre os tópicos help <tópico> -> mostra comandos relacionados ao tópico help <comando> -> mostra detalhes sobre o comando Exemplo: >> help format Look for parteDoComando (usado qdo nao se sabe o nome exato do comando)
15
Operacões com matrizes
Transposta ® indicada pelo caracter apóstrofo '. A=[1 2 3;4 5 6;7 8 9]; B=A' B= 2 5 8 3 6 9 det(A) Determinante da matriz A. inv(A) Inversa da matriz A A A’ 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9
16
Operações com matrizes
Adição e subtração ® indicada pelos sinais “+” e “-” respectivamente. C=A+B; Essas operações só são definidas para matrizes com a mesma dimensão. B=A+A’ A A’ B 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 2 6 10 14 18 + =
17
Operações com matrizes
Multiplicação ® indicada por “*”. Só é válida quando a 2a. dimensão da 1a. matriz for igual a 1a. dimensão da 2a. matriz. mxn e nxp Ex: >> A*B
18
Operações com matrizes
A multiplicação de escalar por matriz e vice-versa também é válida. Ex: >> B=2*A A B 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 = 2*
19
Operações com conjuntos
São operações aritméticas realizadas elemento por elemento da matriz. Usa-se os mesmos caracteres das operações usuais precedidos por um ponto (“.*”, “./”, “.\”, “.^”) Exemplo: Crie duas matrizes quadradas a e b Faça: >>a*b (multiplica as matrizes) >>a.*b (multiplica os elementos da mesma posicao)
20
Manipulação de vetores e matrizes
Gerando vetores: a declaração >>x = 1:5 gera o vetor linha x = (incremento de 1)
21
Manipulação de vetores e matrizes
Elementos das matrizes: utiliza-se índices entre parênteses. >> >>A(3,3) = A(1,3) + A(3,1) A = A(2,1) = 4 A(1:2, 2:3) = 0 elementos A(1,2), A(1,3), A(2,2), A(2,3) são zerados. A(:,3) = 0 elementos da terceira coluna são zerados. A(1:2,3) especifica uma submatriz 2x1 com os 2 primeiros elementos da terceira coluna de A resposta (MATRIZ ORIGINAL): 3 6
22
Funções Escalares As funções escalares mais comuns são: sin - seno
asin - arcoseno abs - valor absoluto round - arredonda cos - cosseno acos - arco cosseno log - log natural sqrt - raíz quadrada floor - arredonda na direção de menos infinito tan - tangente atan - arco tangente rem - resto da divisão ex: rem(10,3) sign - função sinal ceil - arredonda na direção de mais infinito
23
Outros exemplos de funções vetoriais são:
max(a) encontra o valor máximo sum(a) soma os elementos median(a) mediana any(a) true se existe um elemento diferente de zero min(a) menor valor prod(a) produto dos elementos all(a) true se todos os elementos são diferentes de zero sort(a) ordena em ordem crescente Exemplo: max(a)
24
são arquivos que contém comandos do MATLAB 2 passos:
Arquivos m são arquivos que contém comandos do MATLAB 2 passos: criar arquivo .m usando um editor de texto ou: edit nome do arquivo ou File New M-File digitar código do script. File Save As - escolher diretório corrente ou que esteja presente no search path do MATLAB. chamar o arquivo m da linha de comando, ou de outro arquivo m. nome do arquivo
25
Controle de fluxo Laço for >> for i=1:5 for j=1:5
x(i)=i^2; end x = 1 4 9 16 25 >> for i=1:5 for j=1:5 a(i,j)=i+j; b(i,j)=i-j; end c=a+b; a = b =
26
Controle de fluxo Laço while if 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
27
Arquivos m Exemplo 1 script Comentários: criar arquivo
digitar código clear clc A = [1 2 3; 4 5 6; 7 8 9] B = A’ salvar como inicio.m executar na janela do MatLab >> inicio Comentários: % comentário de linha texto apos o % na mesma linha não será executado
28
Outros comandos Entrada de dados: Receber um dado numérico do usuário
<variável> = input('<mensagem>'); Exemplo: n1 = input('Digite um numero: ') Entrada de dados: Receber um dado texto do usuário <variável> = input('<mensagem>', 's') n1 = input('Digite seu nome: ', 's') Mostrar um texto ou conteúdo de uma variável: disp('<mensagem>'); disp('Total calculado: '); disp(soma); Limpar a tela clc; » n1=input ('digite seu nome ', 's'); Vania » fprintf (1, 'Oi %s', n1) Oi Vania»
29
Exercicios Parte II
30
Resolvendo Equações Polinomiais
Achar raízes de um polinômio: 4x²=0 tem duas raízes nulas. >>p=[4 0 0] >>r=roots(p) 4x²+5=0 não tem raízes reais. >>p=[4 0 5] 4x²-12x=0 tem duas raízes reais: x'=3, x"=0 >>p=[ ] r = r = i i r = 3
31
Resolvendo Equações Polinomiais
x4 - 12x3 + 0x2 + 25x + 116=0 >>p=[ ] r=roots (p) r = 2.7028 i i Construir polinômio a partir de suas raízes: >> pp = poly(r) pp =
32
Digitar estes comandos e observar a saída:
Atividade Exemplo: f(x) = 3*x^4-0.5.*x^3+x-5.2 (x assume valores escalares) p = [ ]; f = polyval(p,x); Digitar estes comandos e observar a saída: p=[ ]; x = linspace(-1,3); % gera 100 ptos entre -1 e 3 v=polyval(p,x) % gera f(x) para cada x contido no vetor x plot(x,v); title('Figure 19: x{^3} + 4x{^2} - 7x - 10');xlabel('x')
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.