1 Atividades de Análise Numérica com OCTAVE ou MATLAB J. A. Salvador salvador@dm.ufscar.br Onde quer que haja mulheres e homens, há sempre o que fazer, há sempre o que ensinar, há sempre o que aprender! (Paulo Freire) Foram elaboradas Fichas de Atividades no ambiente computacional para o estudante dominar o OCTAVE OU MATLAB para compreender os Métodos Numéricos bem como testar suas limitações, que são abordados num curso básico de Cálculo Numérico. Introdução Introdução ao OCTAVE OU MATLAB Obtendo ajuda no OCTAVE OU MATLAB Comandos básicos do OCTAVE OU MATLAB Programação em OCTAVE OU MATLAB Arquivos M FICHAS DE ATIVIDADES ZEROS DE FUNÇÕES Método da Bisseção Método das Aproximações Sucessivas Método das Secantes Método de Newton - Raphson INTERPOLAÇÃO POLINOMIAL Polinômio interpolador de Lagrange SOLUÇÃO NUMÉRICA DE SISTEMAS DE EQUAÇÕES LINEARES Métodos Diretos Eliminação de Gauss Métodos indiretos Método de Jacobi - Richardson Método de Gauss-Seidel 2 SOLUÇÕES NUMÉRICAS DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS: PROBLEMAS DE VALOR INICIAL Método de Euler 3 Introdução O tema aborda a construção de uma ferramenta computacional de apoio ao ensino de cálculo numérico no ensino Superior. Tendo em vista a grande utilização do computador na rede de ensino, se faz necessário à implementação de ferramentas computacionais de ensino que possam contribuir para o aprendizado do aluno. Uma destas ferramentas de ensino, sem dúvida nenhuma, é o domínio de softwares. A escola como local de investigação e capacitação de futuros agentes transformadores da nossa realidade parece que ainda não esta totalmente preparada para proporcionar aos seus alunos condições necessárias para a utilização do computador como mais uma ferramenta de aprendizagem embora já tenha alcançado um avanço razoável. A utilização do computador pode possibilitar uma redefinição da escola como foco de ensino, investigação e pesquisa. A escola deve neste momento discutir qual será o seu papel na sociedade globalizada e quais ferramentas de ensino e aprendizagem podem fazer parte de suas dinâmicas. Tentando fornecer elementos para esta discussão, este trabalho de graduação tem por objetivo investigar o Ensino da Matemática na disciplina de Calculo Numérico no ensino superior por meio do uso de uma ferramenta computacional e pedagógica, o OCTAVE1 que é um software livre ou MATLAB2. Introdução ao OCTAVE ou MATLAB OCTAVE OU MATLAB são softwares interativos de alta performance voltados para o cálculo numérico. Eles integram a análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional. Neles, o 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 apenas uma fração do tempo que se gastaria para escrever um programa 1 www.gnu.org./software/octave 2 www.mathworks.com 4 semelhante em linguagem Fortran, Basic ou C++. Além disso, as soluções dos problemas são expressas quase exatamente como elas são escritas matematicamente. Obtendo ajuda no OCTAVE ou MATLAB O comando help nestes softwares nos fornece ajuda on-line sobre qualquer outro comando. Por exemplo, para obter ajuda sobre o comando who: >> help who WHO list current variables. WHO lists the variables in the current workspace. WHOS lists more information about each variable. Outro comando que pode ajudar bastante é o lookfor, que procura entre todas as funções do OCTAVE ou MATLAB a palavra-chave especificada. >> lookfor max BITMAX Maximum floating point integer. REALMAX Largest positive floating point number. MAX Largest component. Comandos básicos do OCTAVE ou MATLAB » Clear Apaga todas as variáveis do espaço de trabalho » Clc Limpa a janela de comandos » % O Operador Percentagem, permite adicionar comentários após comandos do OCTAVE ou MATLAB, ou seja, tudo que esteja à direita deste operador será ignorado. Tipos de dados em OCTAVE ou MATLAB: Matrizes Em OCTAVE ou MATLAB os dados são armazenados essencialmente como matrizes. Há várias formas de especificar matrizes, para que se possa manipulá- las. 5 Para definir explicitamente uma matriz A, devem-se usar colchetes a delimitar seus elementos. Estes serão separados por vírgula ou espaços dentro da mesma linha, sendo estas finalizadas por ponto e vírgula. Exemplo: » A = [4 3 1; 5 7 0 ]; O Ponto e Vírgula no final da instrução impede que o OCTAVE ou MATLAB mostre os dados introduzidos, embora os deixa guardados na memória. Caso não se coloque, serão visualizados o seguinte: A = 4 3 2 5 7 0 O OCTAVE ou MATLAB possui alguns comandos internos no caso de se criar matrizes elementares. » zeros(n,m) - Cria uma matriz nxm em que todos os elementos são nulos. » ones(n,m) – Cria uma matriz nxm em que todos elementos são a unidade. » eye(n) – Cria uma matriz identidade nxn Para obter acesso a um elemento da linha i e coluna j de uma matriz. utiliza-se o comando M(i,j) , sendo M a matriz. O Operador: O Operador: (dois pontos) possui várias funções no OCTAVE ou MATLAB. Exemplos: » D= 1:7 cria uma matriz D, linha, em que seus elementos são: [1 2 3 4 5 6 7 ]. 6 » D = 1:0.1:2 cria uma matriz D, linha, com um espaçamento de 0,1 entre seus elementos [1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00 ] » D (1,: ) Se quiser obter a primeira linha da matriz D [1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00 ] » D(1,2:4) Se quiser obter a porção entre a Segunda e Quarta colunas, na primeira linha [1.10 1.20 1.30 ] Constantes do OCTAVE ou MATLAB no format long com 15 dígitos pi 3,14159265358979 exp(1) 2.71828182845905 Ou no format short com 5 dígitos pi 3.1416 exp(1) 2.7183 e ainda a unidade imaginária i 0 + 1.0000i Variáveis em OCTAVE ou MATLAB As variáveis em OCTAVE ou MATLAB não necessitam de ser explicitamente declaradas, é feita distinção entre maiúsculas e minúsculas. 7 O OCTAVE ou MATLAB cria automaticamente a variável resposta ans (de ANSwer), que guarda o valor da última expressão calculada, quando este não estiver sido atribuído a nenhuma outra variável. Geralmente atribuímos um nome a uma variável definida, como » x = [1 2 3 4] x = 1 2 3 4 Programação em OCTAVE ou MATLAB Aqui está um grande diferencial do OCTAVE ou MATLAB , quando se trabalha com expressões, pode-se envolver matrizes inteiras, ao invés de obrigar a trabalhar apenas elemento a elemento, como acontece em muitas linguagens de programação. Exemplos: A’ Transposta da matriz A inv(A) Inversa da matriz A det(A) Determinante da matriz A size(A) Dimensão da matriz A eig(A) Autovalores da matriz A rank(A) posto da matriz A Os número podem ser introduzidos como inteiros (2546), negativos ( -456.003 ), decimais (4.634), complexos (8 + 7*i) ou notação científica ( 1.5e-5) que corresponde a 1.5 * 10^(-5) Na maioria dos softwares computacionais, principalmente no ambinete do Octave ou MatLab (VENDRAMETTO JR., C. E. \& ARENALES, 2000) indicamos os operadores lógicos ou relacionais