TUTORIAL MATLAB MATEMÁTICA COMPUTACIONAL Aula 20-Novembro-2013



Documentos relacionados
Tutorial de Matlab Francesco Franco

Departamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB

Vetores, Matrizes e Gráficos

Introdução ao Matlab. 1 Algumas regras e comandos do Matlab. 3 de março de Docente Responsável : Prof. Dr. Antônio C. Roque

Notas para um curso de Cálculo 1 Duilio T. da Conceição

Sistemas e Sinais (LEE & LETI)

Oficina de MATLAB Nível Básico Aula 1

Introdução ao MATLAB

Tutorial MATLAB 6.5. Thaís Rodrigues Tonon RA: Turma B

TUTO TUT RIAL O DE MATLAB MA FLÁVIA BASTOS 04/05/2010

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Métodos Numéricos em Finanças

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

criar u u = E(:,1) criar b b=a(:,3)

Programação de Computadores I

Aula 2P - Comandos básicos do Matlab aplicados a PDS

Não use essa apostila como única fonte de consultas, procure livros e manuais.

CENTRO UNIVERSITÁRIO DA FEI MR Simulação de Processos em Eng. de Materiais. Aula 5. Matlab

MATLAB Avançado. Melissa Weber Mendonça Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.

Lição 1 - Criação de campos calculados em consultas

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

Reginaldo J. Santos. Universidade Federal de Minas Gerais Agosto de de maio de 2009

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

Processamento Numérico

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Projeto de Redes Neurais e MATLAB

SCILAB. Software livre para cálculo numérico e simulação de sistemas físicos Utilizado nas áreas de:

Criando e usando Gráficos

Para além das funções (comandos) pré-definidas no matlab, o utilizador pode também criar as suas próprias funções

TUTORIAL do OCTAVE. GNU-Octave versão Aluna: Camili Ambrósio RA: Disciplina: MA111 Professor: Márcio Rosa Segundo semestre 2005.

Roteiro para o Primeiro Laboratório de Cálculo Numérico

Análise de Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB

LABORATÓRIO DE BANCO DE DADOS

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.

OPERADORES E ESTRUTURAS DE CONTROLE

SciLab. Prof. Raimundo C. Ghizoni Teive

Somatórias e produtórias

Um Pequeno Manual. Adelmo Ribeiro de Jesus

Bacharelado em Ciência e Tecnologia Bacharelado em Ciências e Humanidades. Representação Gráfica de Funções

Manual HPSim. 1 Introdução. 2 Instalação do Programa

Tutorial do Iniciante. Excel Básico 2010

Cálculo Numérico Computacional Exercícios lista 04 Raizes aproximadas

Programa. Linguagem MATLAB Métodos Computacionais para EDO Métodos Computacionais para EDP. Critérios

Aplicações de Escritório Electrónico

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

1. FUNÇÕES NO EXCEL 2007

Notas sobre o MySQL: Resumo dos comandos no MySQL linha de comandos:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Informática no Ensino da Matemática

Alguns apontamentos da história da Análise Numérica

AULA 6 LÓGICA DOS CONJUNTOS

CI202 - Métodos Numéricos

Faculdade de Medicina Dentária da Universidade de Lisboa 20º Curso Profissional de Assistente Dentário TIC Prof. Teresa Pereira

Mini-curso de MATLAB e Octave para Cálculo Numérico

Algoritmo e Programação

Introdução à Linguagem

CAP. I ERROS EM CÁLCULO NUMÉRICO

Programação em MATLAB

Lista de Exercícios - Séries Matemáticas

Prof. Dr. Iron Macêdo Dantas

Introdução aos cálculos de datas

2 - Generalidades sobre funções reais de variável real

Resumo da Matéria de Linguagem de Programação. Linguagem C

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

Treinamento Excel 2010

Este tutorial está publicado originalmente em

Estabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Google Drive. Passos. Configurando o Google Drive

Informática Aplicada à Engenharia Florestal

PROVAS DE MATEMÁTICA DO VESTIBULARES-2011 DA MACKENZIE RESOLUÇÃO: Profa. Maria Antônia Gouveia. 13 / 12 / 2010

1 Introdução ao MatLab

Noções Básicas de Excel página 1 de 19

Minicurso de Matlab. Redes Neurais. Lorran Ferreira Maroco Sutter. 26 de maio de 2014, Juiz de Fora. Universidade Federal de Juiz de Fora

Análise de complexidade

Introdução ao Matlab. Sérgio Manuel Ângelo da Cruz. Aplicações Informáticas para Engenharia

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Plano de Aula. 1 - Como abrir o programa KmPlot

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

APOSTILA DE EXCEL 2007

INSTITUTO POLITÉCNICO DE TOMAR. Matlab Tutorials. Principais Funções do Matlab

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Aula 03 PowerPoint 2007

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

e à Linguagem de Programação Python

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas

PROCEDIMENTO DE CONFIGURAÇÃO DE IMPRESSORA FISCAL PARA HORÁRIO DE VERÃO

Resolução da Prova da Escola Naval Matemática Prova Azul

Transcrição:

TUTORIAL MATLAB MATEMÁTICA COMPUTACIONAL Aula 20-Novembro-2013 MATLAB (MATrix LABoratory) é um software de alta performance direccionado para o cálculo numérico. O MATLAB integra áreas como análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos. O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos problemas numéricos em relativamente menos tempo que linguagens semelhantes como o C ou Fortran. As soluções dos problemas são expressas matematicamente. Ao abrir o MATLAB duas janelas são exibidas: a Janela de Comando (Command Windows) e Janela Gráfica (Graphic Windows). Janela de Comando ou "prompt" padrão (>>) pode ser usado como um shell interativo de matemática. Sequências de comandos podem ser guardadas em um arquivo de texto, tipicamente utilizando o MATLAB Editor, como um script ou encapsulado em uma função e estes são guardados em ficheiros do tipo M-File (.m) MATLAB no IST O MATLAB está disponível no IST para Sistema Operativo Windows, UNIX ou Mac. As últimas versões do MATLAB estão disponíveis para download no site: https://delta.ist.utl.pt/software/matlab.php Note que, estas licenças não permitem acesso à Toolbox Symbolic. Para requerer esta toolbox deverá enviar um email para ci@ist.utl.pt. MATLAB O Básico Vamos começar com algo simples, como a definição de um vector linha cujos elementos são os números 1, 2, 3, 4, 5. O vector será guardado na variavel x. >> x = [1 2 3 4 5] x = 1 2 3 4 5 Para criar um vector coluna, podemos utilizar o ponto e vírgula entre elementos ou, criar inicialmente um vector linha e depois calcular o seu transposto ('). >> y = [1;2;3;4;5] y = 1

2 3 4 5 >> x = [1 2 3 4 5]' Vectores e Matrizes É interessante também ver como se definem vectores e matrizes com elementos igualmente espaçados. Isto é feito definindo o primeiro elemento do vector, o incremento e o último elemento. Por exemplo, vamos criar o vector u cujos elementos são 0, 1, 2, 3, 4, 5, e o vector u2 cujos elementos são os números pares de 0 a 8. >> u = [0:5] u = 0 1 2 3 4 5 >> u2 = [0:2:8] u2 = 0 2 4 6 8 O Matlab permite-nos localizar partes específicas de um vector/matriz. Para exemplo, queremos apenas os 3 primeiros elementos do vector u2. >> u2(1:3) 0 2 4 Definir uma matriz é muito semelhante a definir um vector. Podemos tratar cada linha de uma matriz como um vector. >> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 Podemos referir-nos a um elemento particular da matriz utilizando os parêntises. Por exemplo, o número 5 encontra-se na segunda linha, segunda coluna, logo: >> A(2,2)

5 Podemos também extrair uma coluna/lina inteira, usando :. Por exemplo, se quisermos todos os elementos da segunda coluna. >> A(:,2) 2 5 8 Uma das principais vantagens do MATLAB é a facilidade com que se manipulam vectores e matrizes. Por exemplo, se quisermos somar/subtrair 2 matrizes. >> A = [1 2 3; 4 5 6; 7 8 9]; >> B = [1 0 1; 2 1 0; 3 3 3]; >> A + B 2 2 4 6 6 6 10 11 12 O mesmo acontece com vectores. >> s = [1 2 3] s = 1 2 3 >> t = [2; 3 ; 5] t = 2 3 5 >> s t Error using Matrix dimensions must agree. Tal como esperado, não nos é possível substrair um vector de tamanho 1-por-3 por um de 3-por-1.

Como tal teriamos que usar s t'. O mesmo cuidado tem que ser mantido quando se trata da multiplicação. >> B * s Error using * Inner matrix dimensions must agree. >> B * t 7 7 30 Há outras operações que queremos ver executadas elemento a elemento da matriz ou vector. Por exemplo, se quisermos multiplicar cada elemento do vector por si próprio. s 2 = [s(1)*s(1), s(2)*s(2), s(3)*s(3)]. >> s*s Error using * Inner matrix dimensions must agree. Neste caso, para que tal operação seja possível, é necessário especificar que a multiplicação é feita elemento a elemento, utilizando.* ou.^2. >> s.*s >> s.^2 1 4 9 1 4 9 Os operadores disponíveis no matlab são + adição subtracção * multiplicação ^ potência ' transposto \ divisão à esquerda / divisão à direita

O MATLAB permite-nos visualizar valores reais de duas formas: 4 casas decimais ou 16 casas decimais >> format short (4 casas decimais) >> format long (16 casas decimais) Algumas funçoes disponíveis em MATLAB (para escalares e que operam elemento a elemento quando aplicadas a vectores ou matrizes) sin cos tan exp log abs sqrt rem round seno trigonométrico cosseno trigonomirco tangent exponencial logaritmo natual valor absoluto raiz quadrada resto arredondamento ao inteiro mais próximo Funções disponíveis em MATLAB para vectores e que retornam escalares. Max min length sort sum prod maior elemento menor eemento tamanho do vector ordenar vector (ascente) soma dos elementos produto dos elementos >> length(s) 3 >> max(s) 3 Funções disponíveis em MATLAB para martizes. Eye zeros ones diag matriz identidade matriz de zeros matriz de uns extrai a diagonal de uma matriz (ou usada para criar diagonal de uma matriz)

triu parte triangular superior de uma matriz tril parte triangular inferior de uma matriz. >> eye(4,4) 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> ones(2) 1 1 1 1 Alguns comandos que podem ser úteis para o trabalho de MC. Det inv eig poly norm determinante da matriz inverso de uma matriz valores próprios/vectores próprios polinómio caracteristico norma da matriz (norma 1, norma 2, norma infinita) >> K = [9, 7 0; 0, 8, 2; 7, 2, 3] K = >> det(a) 278 9 7 0 0 8 2 7 2 3 Podemos confirmar os nossos resultados fazo: KK -1 = I. >> K*inv(K) 1.0000 0 0.0000

0 1.0000 0 0.0000 0.0000 1.0000 Gráficos (Plot) Dados 2 vectores, de tamanho igual, podemos facilmente desenhar o gráfico da função utilizando a função plot. Por exemplo, vamos criar o gráfico da função y = cos(x), de -π a π (com incremento de 0.01) >> x = [ pi:0.01:pi]; >> y = cos(x); >> plot(x,y) Para melhor representar o grafico podemos catalogar cada eixo. >> xlabel('x'); >> ylabel('y=cos(x)'); >> title('grafico da função');

É possível utilizar diferentes linhas, cores e símbolos para definir os gráficos. Alguns exemplos. Y amarelo. ponto m magenta o círculo r vermelho * estrela g verde tracejado v azul Condições Ifs if condição operação elseif condição operação else operação Para exemplo valor definir uma função definida por ramos

Definimos o dominio de -1 a 1. >> x = 1:0.01:1; >> for i=1:length(x) if x(i) < 0.5 F(i) = x(i).^2; else F(i) = 0.25; >> plot(x,f) Para criarmos rotinas no matlab, criamos ficheiros.m que são consideradas funções. A título de exemplo vamos criar uma função com o método da bisecção. >> syms x >> f = x^3+1 f = x^3 + 1 >> f = inline(f) f =

Inline function: f(x) = x.^3+1.0 >> r = bisection( f, 3,2, 15, 10^ 3 ); O método convergiu p = 0.9999 Ficheiro bisection.m function [ r ] = bisection( f, a, b, nmaxiter, tolerancia ) %f : funã à o %a : limite inferior do intervalo %b : limite superior do intervalo %nmaxiter : nr mã ximo de iteradas %tolerancia : criterio de paragem if ( f(a) == 0 ) r(1) = a; return; elseif ( f(b) == 0 ) r(1) = b; return; elseif ( f(a) * f(b) > 0 ) error( 'f(a) and f(b) nã o tãªm sinais contrã rios' ); p = (a+b)/2; for i = 1:nmaxIter if f(a)*f(p)<0 b = p; else a = p; p = (a + b)/2; err = abs(f(p)); if err < tolerancia disp('o metodo convergiu'); p f(p) break; ; r(i) = p; if i == nmaxiter disp('o metodo não convergiu');

Imprimir resultados printf('%s %d\n', 'iteradas= ',i); printf('%s %d %d %s\n', 'Raiz = ',p); printf('%s %d\n', 'erro= ',err); %s Texto %d valor real/inteiro Derivada de Funções (diff) >> syms x >> f = x^2+3 f = x^2 + 3 >> df = diff(f) df = 2*x >> d2f = diff(f,2) d2f = 2