MATLAB - Matrix Laboratory Adaptado de Profa

Slides:



Advertisements
Apresentações semelhantes
Carlos André Vaz Junior
Advertisements

Pseudo-código: sintaxe
Programação de Computadores
O Maple na Aula de Matemática
MATLAB Comandos Básicos.
Derivadas Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando ele existia, de derivada de f em.
Introdução a Programação Renata Freire
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares
Construção de Algoritmos 1
Instrutor: Marcelo Escobar
LINGUAGEM C.
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
The language of tecnical computing
4. Operadores e Aritmética. Introdução à Programação Prolog2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores.
7 - Funções pré-definidas
GET – Engenharia de Produção
Profa. Regiane Klidzio URI Campus Santo Ângelo/RS
Linguagem Haskell Riocemar S. de Santana.
Introdução ao MatLab Aula 2
Professor José Rui Aula 07
Função acos() Função acos Protótipo double acos ( double x ) Cabeçalho
Linguagens de Programação
Linguagens imperativas: Aula prática
Material Didático Unificado.
Aula 02 Variáveis, Matrizes, Gráficos
Introdução a Programação
Fábio de Oliveira Borges
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Matlab Mini Curso PET 2012.
Monitoria de Sistemas Inteligentes
Prof. Reginaldo Ré Universidade Tecnológica Federal do Paraná – Campus Campo Mourão COINT - Coordenação.
Introdução ao MATLAB 5.3 para Hidrólogos
Sistemas de Controle de Aeronaves II
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Informática André alencar.
Minicurso MATLAB Básico
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Matemática para Economia III
Unidades de Gestão: gep | getec | gead
Algumas notas sobre a linguagem de programação C
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
THOBER CORADI DETOFENO, MSC. Aula 10
Matemática Discreta 1 – MD 1
Programação e Aplicações Gráficas
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Programação Funcional
Introdução à Linguagem JavaScript
Introdução ao MATLAB 5.3 para Hidrólogos
Curso de modelagem numérica computacional com o software livre (Octave) Instituto Federal de Educação, Ciência e Tecnologia do Piauí –IFPI, campus Parnaíba.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Campus de Caraguatatuba
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Haskell Programação Funcional Diego Lima Rubem Moreira.
Computação Eletrônica Variáveis Reais e Booleanas.
Fundamentos de linguagens de programação
Iº Workshop Linux da Unijorge
Algoritmos.
Introdução à Programação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Folha de Cálculo Professor: Pedro Lopes Ano Lectivo 2010/2011.
ICC – 4.1. Aritmética Binária
Paradigmas das Linguagens de Programação - História
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
MatLab (Matrix Laboratory)
GEOMETRIA ANALITICA VETORES.
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

MATLAB - Matrix Laboratory Adaptado de Profa MATLAB - Matrix Laboratory Adaptado de Profa. Carla Salso Freitas e profa. Luciana Nedel Por Profa. Patrícia Jaques

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

MATLAB (www.mathworks.com) Pacotes científicos MATLAB (www.mathworks.com) linguagem de programação ambiente para desenvolvimento sistema gráfico funções matemáticas

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

Diferencia maiúsculas de minúsculas! Matriz A = [1 2 3; 4 5 6;7 8 9] 1 2 3 4 5 6 7 8 9 Diferencia maiúsculas de minúsculas!

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 = [-1.3 sqrt(2) ((1+2+3)*4/5)^2] resulta em: x = -1.3000 1.4142 23.0400 Elementos são referenciados por índices entre parênteses: x(1) = 5 resulta em: x = 5 1.4142 23.0400 Índices começam em 1

Acessando um elemento da Matriz linha 1 2 3 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

Grandes matrizes podem ser geradas a partir de pequenas: Introdução Grandes matrizes podem ser geradas a partir de pequenas: >> r=[10 11 12]; 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 10 11 12 A r

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 10 11 12 k=Y(1:2,3:3) SELECIONA AS LINHAS DE 1 A 2 E A COLUNA 3

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.

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

Números e expressões aritméticas Notação decimal convencional Ex: 3 -99 0.00001 9.6374586 1.602E-20 6.06375e23 Operadores: ^ exponenciação / divisão à direita \ divisão à esquerda * multiplicação + adição - subtração

Formatos de saída O comando format modifica o modo como os valores são mostrados format short (default) 1.3333 short e 1.3333e+000 long 1.33333333333333 long e 1.33333333333333e+000 hex 40040000000000000 rat 4/3 bank 1.33 Exemplo: >>a=2/3 >>format bank >>a

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)

Operacões com matrizes Transposta ® indicada pelo caracter apóstrofo '. A=[1 2 3;4 5 6;7 8 9]; B=A' B= 1 4 7 2 5 8 3 6 9 http://pt.wikipedia.org/wiki/Determinante 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

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 + =

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

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*

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)

Manipulação de vetores e matrizes Gerando vetores: a declaração >>x = 1:5 gera o vetor linha x = 1 2 3 4 5 . (incremento de 1)

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 = 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) 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

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

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)

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

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 = 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 6 7 8 9 10 b = 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

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

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

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»

Exercicios Parte II

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=[4 -12 0] r = r = 0 + 1.1180i 0 - 1.1180i r = 3

Resolvendo Equações Polinomiais x4 - 12x3 + 0x2 + 25x + 116=0 >>p=[1 -12 0 25 116] r=roots (p) r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i Construir polinômio a partir de suas raízes: >> pp = poly(r) pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000

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 = [3 -0.5 0 1 -5.2]; f = polyval(p,x); Digitar estes comandos e observar a saída: p=[1 4 -7 -10]; 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')