Apêndice I - Introdução ao MATLAB

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

Murilo F. Tomé ICMC-USP

Introdução ao MATLAB. Afonso Paiva ICMC-USP

Introdução ao software MatLab

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE

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

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

UNIVERSIDADE FEDERAL RURAL DA AMAZONIA ICIBE INSTITUTO CIBER ESPACIAL PROFº JOÃO SANTANNA

Iteração e Pontos Fixos

Symbolic Math Toolbox

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab.

Introdução à Ciência da Computação

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Esta prática tem como objetivo apresentar o uso de Matlab para encontrar a resposta de um sistema dinâmico.

Fundamentos IV. Introdução a OCTAVE. Clarimar Coelho. Departamento de Computação. August 11, 2014

MATLAB EM VIBRAÇÕES MECÂNICAS

Aula 02 - Introdução ao Scilab (p1)

Modelo Matemático simples

Programação de Computadores III

Apostila Octave, o básico

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

GAAL Conhecendo alguns comandos básicos do Maple 17

Introdução ao MATLAB

Recursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV

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

Vetores, Matrizes e Gráficos

Programação de Computadores III

Maxima : um completo programa de Computação Algébrica

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

02 - Introdução ao Scilab

Programação de Computadores:

Prof. Dr. Marco Antonio Leonel Caetano

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

Material Didático Unificado.

Introdução à Computação

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

MATLAB. Que é MATLAB?

Introdução ao Matlab

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

Informática no Ensino da Matemática

INFORMÁTICA PARA ENGENHARIA

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Introdução ao MatLab Operações com Vectores e Matrizes

Características Básicas

Programação de Computadores. Primeiro contato

ALGORITMOS AULA 2. Profª Amanda Gondim

Cálculo A. José Carlos de Souza Junior.

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Aula 7. Noções Básicas de Octave

Minicurso MATLAB BÁSICO MÓDULO 1

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

Novas Tecnologias no Ensino da Matema tica

INTRODUÇÃO AO SCILAB

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

BrOffice Calc e Planilhas de Cálculos. Por: André Aparecido da Silva

Introdução a Matrizes

Software Graphmática \. (Graphmática não é um programa gratuito, mas seus responsáveis disponibilizam uma versão

Maxima : um completo programa de Computação

Introdução à Computação

Introdução ao Scilab

Aproximação de uma função pelo polinómio de Taylor.

Unidade 3: Linguagem de programação

6. OPERADORES E ARITMÉTICA

Material Didático Unificado.

Aula 03 - Introdução ao Scilab (p2)

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

O SOFTWARE MATLAB COMO AUXÍLIO DIDÁTICO - PEDAGÓGICO

Introdução ao software Scilab

Algoritmos e Programação

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

5. Expressões aritméticas

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

BrOffice Calc e Planilhas de Cálculos. Por: André Aparecido da Silva

Linguagem C: Introdução

Introdução ao Scilab. Comandos de entrada e saída de dados.

Exercícios: Vetores e Matrizes

Processamento Numérico

UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Introdução à Linguagem C. Adaptado de Deise Saccol

Introdução à Linguagem C

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Análise matricial de estruturas usando Matlab

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Numpy ARRAY E MATRIZES

Introdução a Linguagem C

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DEPARTAMENTO DE FÍSICA, ESTATÍSTICA E MATEMÁTICA

Introdução ao Scilab 3.0 Parte 2

MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21

É um interpretador,, ou seja, um programa que executa programas; ao contrário de um compilador, não traduz um programa para instruções de máquina.

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Introdução ao R. Gualberto Agámez Montalvo. 16 de Março de Análise de Dados e Simulação Departamento de Estatística Universidade de São Paulo.

Oficina de MATLAB Nível Básico Aula 1

Algoritmos RESUMO - LINGUAGEM C

PET QUÍMICA - CURSO DE CALCULADORA CIENTÍFICA CASIO fx-82ms

TIPOS DE DADOS E VARIÁVEIS

Transcrição:

190 Apêndice I - Introdução ao MATLAB O MATLAB é um software interativo de alta performance com aplicação na área Científica e de Engenharia. O MATLAB trabalha com análises numéricas, matrizes, processamento de sinais, e gráficos num ambiente amigável no qual os problemas e soluções são expressos em linguagem matemática sem o rigor da programação tradicional. O nome MATLAB é derivado do termo MATrix LABoratory. O MATLAB foi originalmente escrito para proporcionar um fácil desenvolvimento de programas com matrizes através dos projetos LINPACK e EISPACK. O MATLAB tem sido usado a vários anos por uma vasta gama de usuários. Nas Universidades, o MATLAB tem se mostrado bastante útil como ferramenta didática modelo para cursos introdutórios em Álgebra Linear, bem como em cursos avançados em outras áreas. Na indústria é usado em pesquisas e solução de problemas práticos de Engenharia envolvendo processamento matemático. As maiores aplicações estão direcionadas para as áreas da Computação Numérica, desenvolvimento de algoritmos protótipos e solução de problemas especiais com formulações matriciais que emergiram de áreas como Controle Automático, Estatística e Processamento Digital de Sinais. Por ser escrito em linguagem C, o MATLAB é um sistema completamente integrado, compatível com a norma aritmética da IEEE, que inclui gráficos, funções macro, um rápido interpretador e diversos comandos analíticos. O MATLAB é constituído de um número básico de funções matemáticas compiladas. Além destas funções básicas, existem pacotes de ferramentas para áreas específicas como CONTROLE, IDENTIFICAÇÃO DE SISTEMAS, PROCESSAMENTO DE SINAIS, CONTROLE ROBUSTO E OTIMIZAÇÃO. Estes pacotes, chamados ToolBoxes, podem ser adquiridos separadamente e apresentam um conjunto de programas em linguagem fonte que podem ser editados e modificados se o usuário desejar. Usaremos um pacote chamado gaal com funções que são direcionadas para este curso. Todos os programas do MATLAB apresentam a extensão M. Os programas desenvolvidos pelo usuário deverão obrigatoriamente conter a mesma extensão para serem devidamente interpretados da mesma forma que os programas originais. O MATLAB pode ser adquirido em uma boa livraria a um preço bastante razoável. Por exemplo, a versão estudante pode ser adquirida através da Internet, na livraria Blackwell's ( http://bookshop.blackwell.co.uk) na Inglaterra por US$ 68,00 incluindo a despesa com o transporte.

191 O MATLAB possui um conjunto de funções que são usadas em Engenharia de Controle ou Teoria de Sistemas. Números complexos, Autovalores, Lugar das Raízes, Inversão de matrizes, Transformada Rápida de Fourier são alguns exemplos dos recursos disponíveis. Uma vez inicializado o MATLAB, aparecerá na janela de comandos um prompt >> ou EDU>>. O prompt significa que o MATLAB está esperando um comando. Todo comando deve ser finalizado teclando-se Enter. No MATLAB, pode-se obter ajuda sobre qualquer comando ou função. O comando >> help mostra uma listagem de todos os pacotes disponíveis. Ajuda sobre um pacote específico ou sobre um comando ou função específica é obtida com o comando >> help nome, (sem a vírgula!) onde nome pode ser o nome de um pacote ou o nome de um comando ou função. Ex.: >> help gaal

192 A.1. Cálculos Científicos Cálculos Simples O MATLAB faz cálculos simples e científicos como uma calculadora. Por exemplo, suponha que você vai a uma loja e compra 3 objetos que custam 25 reais cada e 5 objetos que custam 12 reais cada. Quanto custou a sua compra? No MATLAB você pode resolver este problema de pelo menos duas maneiras. A mais simples é EDU>> 3*25 + 5*12 135 Observe que no MATLAB a multiplicação tem precedência sobre a adição. Note também que ele chamou o resultado de ans. Alternativamente, você pode usar variáveis para armazenar informação. EDU>> q1=3, p1=25, q2=5, p2=12 q1 = 3 p1 = 25 q2 = 5 p2 = 12 EDU>> total=q1*p1+q2*p2 total = 135 Primeiro, criamos quatro variáveis, q1, p1, q2 e p2, atribuindo a elas os seus valores respectivos. Observe que no MATLAB o sinal de igual tem um sentido diferente daquele da Matemática. Aqui, igual significa atribuição. O que estiver à direita do sinal de igual é ``colocado'' na variável que estiver à esquerda. Finalmente, criamos uma variável chamada total que recebeu o total da compra. Usamos a vírgula para separar os comandos que são dados em uma mesma linha. Esta separação poderia ser feita com ponto e vírgula. Mas, neste caso o MATLAB não mostra os resultados dos comandos. No exemplo anterior teríamos EDU>> q1=3; p1=25; q2=5; p2=12; EDU>> total=q1*p1+q2*p2; Em qualquer momento, podemos ver o valor que está contido em uma variável, simplesmente digitando no prompt o seu nome. EDU>> total total = 135

193 Expressões Numéricas e Aritméticas O MATLAB trabalha em notação decimal, hexadecimal, potência de 10 e exponencial em diversos formatos com aproximadamente 16 algarismos significativos na faixa de 10-308 a 10 308 As expressões podem ser construídas utilizando os operadores aritméticos abaixo: Ex.: + adição - subtração * multiplicação / divisão à direita \ divisão à esquerda ^ potenciação >> a+b soma a e b. Por exemplo, 5+6. >> a-b subtrai a de b. Por exemplo, 15-12. >> a*b multiplica a por b. Por exemplo, 3.14*0.15. >> a^b calcula a elevado a b. Por exemplo, 5^(1/2). A ordem com que são avaliadas as expressões é dada pela seguinte regra: expressões são avaliadas da esquerda para a direita, com a potência tendo a mais alta precedência, seguida pela multiplicação e divisão que têm igual precedência, seguidas pela adição e subtração que têm igual precedência. Parêntesis podem ser usados para alterar esta ordem. Sendo que neste caso, os parêntesis mais internos são avaliados antes dos mais externos. Área de Trabalho Comandos que foram dados anteriormente podem ser obtidos novamente usando as teclas e. Por exemplo, pressionando a tecla uma vez você obtém o último comando digitado no prompt. Pressionando repetidamente a tecla se obtém os comandos digitados anteriormente, um de cada vez na direção para trás. Analogamente, pressionando-se a tecla, mas na direção para frente. Mais ainda, digitando no prompt os primeiros caracteres de um comando dado anteriormente e então pressionando-se a tecla, obtém-se o comando mais recente tendo aqueles caracteres iniciais. Em qualquer momento, as teclas, podem ser usadas para se mover o cursor dentro de um comando, no prompt. Desta forma um comando pode ser corrigido, além das teclas Delete e Backspace. Variáveis O MATLAB tem certas regras para nomear as variáveis. Os nomes de variáveis devem ser nomes iniciados por letras não podem conter espaços nem caracteres de pontuação.

194 O MATLAB faz diferença entre letras maiúsculas e minúsculas. Alguns nomes são usados para variáveis predefinidas. Estas são: ans - variável usada para os resultados. pi - número. eps - menor número tal que, quando adicionado a 1, cria um número maior que 1 no computador. flops - armazena o número de operações em ponto flutuante realizadas. inf - significa infinito. NaN ou nan - significa não é um número, por exemplo, 0/0. i e j - unidade imaginária [ ( 1) ]. nargin - número de argumentos de entrada de uma função. nargout - número de argumentos de saída de uma função. realmin - menor número que o computador pode armazenar. realmax - maior número que o computador pode armazenar. As variáveis podem ser redefinidas a qualquer momento, bastando para isso atribuí-las um novo valor. Funções Científicas O MATLAB tem uma série de funções científicas pré-definidas. A maioria pode ser usada da mesma forma que seria escrita matematicamente. Por exemplo: EDU>> x=sqrt(2)/2 x = 0.7071 EDU>> y=acos(x) y = 0.7854 EDU>> y_graus=y*180/pi y_graus = 45.0000 Estes comandos calculam o arco cujo cosseno é 2 / 2, inicialmente em radianos, depois em graus. Abaixo segue uma lista de funções científicas disponíveis: abs(x) - valor absoluto de x. acos(x) - arco cujo cosseno é x. asin(x) - arco cujo seno é x. atan(x) - arco cuja tangente é x. cos(x) - cosseno de x. exp(x) - exponencial e x. gcd(x,y) - máximo divisor comum de x e y. lcm(x,y) - mínimo múltiplo comum de x e y. log(x) - logaritmo de x na base e. log10(x) - logaritmo de x na base 10. rem(x,y) - resto da divisão de x por y. sin(x) - seno de x.

195 sqrt(x) - raiz quadrada de x. tan(x) - tangente de x. Formatos Numéricos Quando o MATLAB mostra um resultado numérico ele segue certas regras. No caso de nenhum formato estar definido, se um resultado é um número inteiro, o MATLAB mostra como um inteiro. Este foi o caso no exemplo das compras, que fizemos anteriormente. Quando um resultado é um número real, o MATLAB mostra uma aproximação com até quatro casas decimais. Este foi o caso no exemplo do arco cosseno, que fizemos anteriormente. Se os dígitos significativos estiverem fora desta faixa, o MATLAB mostra o resultado em notação científica. Você pode definir um formato diferente. Abaixo seguem algumas possibilidades: format short - exibe 5 dígitos. format long - exibe 16 dígitos. format rat - exibe no formato racional. É importante salientar que o MATLAB não muda a sua forma de representar os números internamente, quando formatos diferentes de exibição de números são escolhidos. A.2. Variáveis e Expressões Simbólicas Agora, vamos ver como podemos manipular com expressões que além de números e variáveis numéricas, contém também variáveis simbólicas. Por exemplo: EDU>> syms x EDU>> simplify((sin(x))^2+(cos(x))^2) 1 Estes comandos mandam o MATLAB simplificar a expressão sen 2 x+cos 2 x. Primeiro precisamos dizer ao MATLAB que x é uma variável simbólica, depois pedimos para simplificar a expressão que envolve x. Neste caso usamos uma função chamada simplify. A palavra função no MATLAB tem um significado diferente daquele que tem na Matemática. Aqui função é um comando, que pode ter alguns argumentos de entrada e alguns de saída. Neste caso, a função simplify tem como argumento de entrada uma expressão simbólica e de saída também. Uma vez definido que a variável x é uma variável simbólica, podemos definir expressões que envolvem esta variável. Por exemplo, dadas duas funções f(x) = 2x 2 +3x-5 e g(x) = x 2 -x+7,

196 podemos fazer uma série de operações algébricas envolvendo estas funções. EDU>> f=2*x^2+3*x-5; g=x^2-x+7; EDU>> f+g 3*x^2+2*x+2 EDU>> f-g x^2+4*x-12 EDU>> f*g (2*x^2+3*x-5)*(x^2-x+7) EDU>> expand(ans) 2*x^4+x^3+6*x^2+26*x-35 EDU>> f/g (2*x^2+3*x-5)/(x^2-x+7) EDU>> expand(ans) 2/(x^2-x+7)*x^2+3/(x^2-x+7)*x-5/(x^2-x+7) EDU>> pretty(ans) 2 x x 5 2 ---------- + 3 ---------- - ---------- 2 2 2 x - x + 7 x - x + 7 x - x + 7 EDU>> f^3 (2*x^2+3*x-5)^3 EDU>> expand(ans) 8*x^6+36*x^5-6*x^4-153*x^3+15*x^2+225*x-125 Observe que o MATLAB não faz as simplificações ou expansões automaticamente. Para isso, usamos os comandos simplify que simplifica e expand que faz a expansão. Além destes, usamos acima também o comando pretty, que mostra a expressão de uma forma mais fácil de enxergar. Além destes, que já vimos, existe o comando simple, que tenta encontrar a forma mais simples de escrever uma expressão. O MATLAB pode realizar operações mais avançadas sobre expressões simbólicas. A função compose calcula a composição das funções f(x) e g(x) em f(g(x)), a função finverse encontra a inversa funcional de uma expressão e a função subs substitui uma variável por um número (ou por outra variável) em uma expressão. Por exemplo: EDU>> f=1/(1-x^2); g=sin(x); EDU>> compose(f,g) 1/(1-sin(x)^2) EDU>> compose(g,f)

197 sin(1/(1-x^2)) EDU>> finverse(g) asin(x) EDU>> subs(f,x,2) -1/3 O MATLAB pode resolver equações. Por exemplo, para resolver a equação ax 2 +bx+c = 0, algebricamente, podemos usar os comandos: EDU>> syms a b c x EDU>> solve(a*x^2+b*x+c) [1/2/a*(-b+(b^2-4*a*c)^(1/2))] [1/2/a*(-b-(b^2-4*a*c)^(1/2))] O MATLAB pode exibir este resultado de uma forma mais fácil de enxergar usando a função pretty. EDU>> pretty(ans) [ 2 1/2] [ -b + (b - 4 a c) ] [1/2 --------------------] [ a ] [ ] [ 2 1/2] [ -b - (b - 4 a c) ] [1/2 --------------------] [ a ] Abaixo segue um resumo das funções para manipulação de expressões algébricas: diff(f) - calcula a derivada de f. compose(f,g) - determina a composta f(g(x)). expand(expr) - expande uma expressão expr. finverse(expr) - determina a inversa funcional da expressão expr. pretty(expr) - exibe a expressão expr numa forma mais bonita. simple - procura encontrar uma forma mais simples de escrever uma expressão expr. simplify(expr) - simplifica a expressão expr. solve(expr) - acha a(s) solução(es) da equação expr = 0. subs(expr,x,a) - substitui na expressão expr a variável x por a. syms x y z a b - define as variáveis simbólicas x, y, z, a e b. Existem várias outras funções para manipulação de expressões algébricas. Você pode obter informações sobre elas digitando help symbolic. Uma função interessante que

198 mostra as capacidades do MATLAB em tratar com funções matemáticas é funtool que é uma calculadora para funções. A.3. Instalando o pacote gaal 1. Entre em Meu Computador (clicando duas vezes com o botão esquerdo do mouse sobre Meu Computador no desktop). Entre em drive C:, MATLAB e depois em TOOLBOX. Crie uma pasta chamada gaal. 2. Salve o pacote gaal na pasta recém-criada gaal. 3. Use Alt+Tab para alternar para a janela com o conteúdo de C:\MATLAB\TOOLBOX, clique duas vezes com o botão esquerdo do mouse sobre o ícone da pasta gaal e depois faça o mesmo sobre o ícone do pacote, gaal.exe. O pacote será descompactado. 4. Inicialize o MATLAB, se já não o tiver feito. 5. Na barra de ferramentas clique com o botão esquerdo do mouse no botão 6. Clique no botão Add to Path...

199 Clique duas vezes com o botão esquerdo do mouse em toolbox e depois o mesmo em gaal. Depois clique em Add to Back 7. Clique em OK. Depois, em Save Settings e por último em Close 8. Verifique se o MATLAB adicionou o pacote gaal aos outros, digitando no prompt help. Ele deve aparecer na última linha ou na primeira. Caso contrário repita o processo acima, com mais cuidado. 9. Para informações sobre o pacote gaal digite no prompt do MATLAB help gaal. Desenhando gráficos Para desenhar o gráfico de uma função de uma variável, existe no pacote gaal a função plotf1 (use help plotf1 para saber seu uso). Para colocar os eixos coordenados temos no pacote gaal a função eixos. Usando a função f(x) = 1/(1-x 2 ) que definimos acima temos: EDU>> plotf1(f,[-10,10],200)

200 EDU>> eixos Podemos mudar a escala do gráfico com a função axis EDU>> axis([-5,5,-5,5]) \includegraphics[width = 3in,height = 2in] fun1 2.gif Neste caso como os eixos já estavam traçados, o resultado não foi bom. Então, vamos limpar a figura com o comando clf e com a seta para cima vamos recuperar comandos que havíamos digitado anteriormente. EDU>> clf EDU>> plotf1(f,[-10,10]) EDU>> axis([-5,5,-5,5])

201 EDU>> eixos A.4. Matrizes O MATLAB trabalha essencialmente com matrizes numéricas retangulares com a possibilidade da utilização de elementos complexos. As matrizes podem ser do tipo m n, da forma escalar 1 1 ou em forma de vetor linha ou coluna. Definição de matrizes Para criar uma variável onde é armazenada uma matriz, basta escrever os elementos da matriz entre colchetes [... ], sendo que, o MATLAB não exige a identificação da ordem da matriz ou declarações de tipos. As matrizes podem ser introduzidas de diversas maneiras: Seja a matriz A 3 3 1 A 4 2 5 3 6 Esta matriz pode ser definida como uma lista explicita de elementos sendo, os elementos de uma mesma linha da matriz separados por, (vírgula) ou espaços em branco e as linhas separadas por ponto e vírgula, envolvidos por [ ]. >> A=[1,2,3;4,5,6] >> A=[1 2 3;4 5 6] ou Uma outra forma de se definir esta matriz é escrever os elementos de cada linha, separando as linhas com o comando <ENTER>. >> A=[1,2,3 ou >> A=[1 2 3

202 4,5,6] 4 5 6] Podemos acessar os elementos de uma matriz usando os comandos EDU>> A(2,3) 6 EDU>> A(2,:) 4 5 6 EDU>> A(:,1) 1 4 EDU>> A(:,1:2) 1 2 4 5 O primeiro comando foi para mostrar o elemento (1,2) da matriz A. O segundo, é para exibir a 2 a. linha e o terceiro, é para exibir a 1 a. coluna. Finalmente, o quarto comando é para exibir a submatriz formada pela 1 a. e 2 a. colunas da matriz A. As matrizes podem ser concatenadas EDU>> B=[A,[7;8]] B = 1 2 3 7 4 5 6 8 EDU>> [A;[7,8,9]] 1 2 3 4 5 6 7 8 9 Operações com Matrizes As operações matriciais são executadas de forma semelhante a que são executadas operações escalares EDU>> A=[1,2;3,4]; B=[-3;1]; C=[3,5;-5,2]; EDU>> A+C 4 7-2 6 EDU>> 3*A 3 6 9 12 EDU>> C*A 18 26 1-2 EDU>> B*A??? Error using ==> * Inner matrix dimensions must agree. EDU>> A^2

203 7 10 15 22 EDU>> (A*C)^2-50 144-176 430 Além das operações básicas soma, subtração e multiplicação, podem ser realizadas ainda as seguintes operações: Inversão: a operação C inv(a) inversão da matriz A; direciona para a variável C o resultado da Divisão à direita: a operação C A \ B é equivalente a inv ( A) * B ; Divisão à esquerda: a operação C A / B é equivalente a A * inv( B) ; Potenciação: a operação direciona o resultado para C; C A^ n realiza o produto de A* A n vezes e Transposição: a operação matriz A; C A' direciona para C o resultado da transposta da Determinante: a operação C det(a) determinante da matriz A. direciona para a variável C o resultado do O MATLAB tem funções que geram matrizes especiais EDU>> I=eye(3) I = 1 0 0 0 1 0 0 0 1 EDU>> O=zeros(3,1) O = 0 0 0 Além destas, o pacote gaal oferece as funções randi para gerar uma matriz com elementos inteiros aleatórios e matvand que cria a matriz de Vandermonde. EDU>> A=randi(3) A = 0 3 2 2 1 0-2 -1-1 EDU>> B=randi(3,1) B = 4 2-3 EDU>> C=matvand(B,2) C =

204 16 4 1 4 2 1 9-3 1 Abaixo um resumo das operações matriciais >> A=[a11,a12,...,a1n;a21,a22,...;...,amn] cria uma matriz, m por n, usando os elementos a11, a12,..., amn e a armazena numa variável de nome A. Por exemplo, >> A=[1,2,3;4,5,6] cria a matriz >> A+B é a soma de A e B, >> A*B é o produto de A por B, >> A.' ou A' é a transposta de A, >> A-B é a diferença A menos B, >> num*a é o produto do escalar num por A, >> A^k é a potência A elevado a k. >> Aj=A(:,j) é a coluna j da matriz A, >> Ai=A(i,:) é a linha i da matriz A. 1 2 3 A ; 4 5 6 Além dos comandos e funções pré-definidas, utilizamos um pacote chamado gaal com funções que são mais adequadas para este curso. O comando help gaal dá informações sobre este pacote. Vamos descrever aqui alguns comandos que podem ser usados para a manipulação de matrizes. >> syms x y z diz ao MATLAB que as variáveis x y e z são simbólicas. >> format rat muda a exibição dos números para o formato racional. O comando help format mostra outras possibilidades. >> solve(expr) determina a solução da equação expr=0. Por exemplo, >> solve(x^2-4) determina as soluções da equação x 2-4 = 0; T Ex.: Encontre o valor de x tal que AB 0, onde R.:» syms x» A=[x 4-2]; B=[2-3 5];» solve(a*b') A x 4 2 e B 2 3 5 11 A.5. Sistemas Lineares >> I=eye(n) cria a matriz identidade n por n e a armazena numa variável I; >> O=zeros(m,n) cria a matriz m por n formada por zeros e a armazena numa variável O;

205 >> A=[a11,a12,...,a1n;a21,a22,...;...,amn] cria uma matriz, m por n, usando os elementos a11, a12,..., amn e a armazena numa variável A; >> A=[A1,...,An] cria uma matriz A formada pelas matrizes, definidas anteriormente, A1,..., An colocadas uma ao lado da outra; >> B=escalona(A) calcula passo a passo a forma escalonada reduzida da matriz A e armazena a matriz resultante na variável B.