Matlab 1 Conceitos Básicos e Processamento Numérico
1. Iniciar o programa Matlab. Há duas formas: Fazer duplo-clique sobre o atalho, existente no ambiente de trabalho do Windows Menu Iniciar > Programas > Matlab > Matlab 5.3 Nota: O Matlab cria a seguinte janela, chamada Janela de Comandos. As aspas identificam a linha de comandos A barra vertical que pisca, chama-se cursor O Matlab executa dois tipos de processamento: Numérico ( p.ex. : 2 1 3 4 2 5 Simbólico ( p. ex. : x 2 2 ) ) Processamento Numérico e Simbólico O processamento numérico manipula expressões numéricas, isto é, expressões que só usam valores numéricos, enquanto que o simbólico processa também expressões com valores não numéricos (símbólicos). Neste primeiro exercício sobre Matlab abordaremos apenas o processamento numérico. Para a construção de expressões, o Matlab fornece operadores e funções. Operadores aritméticos elementares: Operação Operador Exemplo Prioridade Adição + 6+2 3 Subtracção - 3-1 3 Multiplicação * 2*4 2 Divisão / 7/2 2 Potenciação (a b ) ^ 5^2 1 Para alterar a ordem usual de execução das operações, usam-se parêntesis. Funções elementares: Função abs(x) Valor absoluto Descrição Operadores e Funções Elementares Conceitos Básicos e Processamento Numérico Pág. 1/11
exp(x) Exponencial (e x ) gcd(x,y) lcm(x,y) log(x) Máximo divisor comum dos inteiros x e y Mínimo múltiplo comum dos inteiros x e y Logaritmo natural log10(x) Logaritmo na base 10 sqrt(x) Raiz quadrada Os nomes das funções devem ser escritos em minúsculas, porque o Matlab distingue as letras minúsculas das maiúsculas. Ajuda do Matlab O Matlab oferece um grande número de comandos, e para ajudar, disponibiliza vários recursos on-line. Entre eles destacam-se dois: Comando help Help Window (Janela de Ajuda) 1. Utilizar ambos os recursos para consultar a ajuda sobre a função sqrt I. Utilizar o comando help:» help sqrt II. Utilizar a Janela de Ajuda: a)abrir a janela de ajuda, seleccionando o Menu Help Help Window b)fazer duplo-clique sobre o tópico matlab\elfun c)procurar o grupo Exponential e depois fazer duplo-clique sobre sqrt d)fechar a Janela de Ajuda 1. Calcular o valor da seguinte expressão numérica: Procedimento: I. Escrever a expressão na linha de comandos II. 2 1 3 4 2 5 Expressões Numéricas (Solução: 14.31 ) Premir a tecla Enter para instruir o Matlab a calcular a expressão. Aparecerá na janela de comandos: III. Observar que o Matlab designa o resultado de ans (abreviação de answer). Alterar o formato do resultado para duas casas decimais (formato Bank): a) Menu File Preferences Aparece a seguinte caixa de diálogo: Conceitos Básicos e Processamento Numérico Pág. 2/11
b) Seleccionar o formato numérico Bank c) Premir o botão OK d) Calcular novamente a expressão. Usar as teclas de movimento vertical (, ) para recuperar a expressão introduzida anteriormente. O Matlab guarda os comandos executados. IV. De salientar que o formato numérico só altera a visualização do número e não a sua representação interna. Repor o formato numérico usado por defeito (Short): a) Menu File Preferences b) Seleccionar o formato numérico Short (default) c) Premir o botão OK 2. Calcular a expressão: 5 7 2 1 e ln(2) ( 15.5 3 3) 5 1 Para criar a raiz cúbica é preciso utilizar um expoente fraccionário ( 3 3 ). 3 3 (Solução: 10. 3778 ) Trigonometria Para resolver problemas de trigonometria o Matlab fornece: A variável pi, contendo o valor de. Saliente-se que o nome da variável pi tem de ser escrito em minúsculas. As funções: Função Descrição acos(x) Arco co-seno Conceitos Básicos e Processamento Numérico Pág. 3/11
asin(x) atan(x) cos(x) sin(x) tan(x) Arco seno Arco tangente Co-seno Seno Tangente 1. Calcular o valor da seguinte expressão numérica: sen( ) 4 2 cos( ) 5 (Solução: 0.9109 ) Variáveis Para facilitar a resolução de problemas em que é necessário utilizar repetidas vezes a mesma expressão, o Matlab permite armazená-la numa variável e depois reutilizá-la as vezes que forem necessárias. O comando para criar variáveis tem o seguinte formato:» nome_variável_1 = expressão_1 ; nome_variável_2 = expressão_2 ;... ; nome_variável_n = expressão_n Regras para criar os nomes das variáveis: Só devem possuir uma palavra, ou seja, não podem incluir espaços: Nomes válidos Nomes inválidos eq1 graus_centigrados eq 1 graus centigrados Só podem conter no máximo 31 caracteres São proibidos caracteres acentuados ( p. ex., ç e ã ) e caracteres de pontuação ( p. ex., ponto-e-vírgula ) O matlab distingue as letras minúsculas das maiúsculas Devem começar por uma letra 1. Criar, simultaneamente, as variáveis k e m:» k = 1 + sqrt(5)/3 ; m = 10.3245 2. Criar as variáveis r e t, reutilizando as variáveis k e m:» r = k * m 15 ; t = k^2 + m 3. Consultar o valor da variável r:» r Números Complexos Para o processamento de números complexos, o Matlab oferece: Duas variáveis: i e j ( i j 1 ) As seguintes funções: Função Descrição abs(x) Módulo dum número complexo angle(x) Ângulo dum número complexo conj(x) Conjugado complexo imag(x) Parte imaginária dum número complexo real(x) Parte real dum número complexo Conceitos Básicos e Processamento Numérico Pág. 4/11
1. Sabendo que: a 4 5i calcular as seguintes expressões: a * b a / b Procedimento: b 1 2i I. Criar as variáveis a e b para representarem os números complexos indicados. II. Calcular a expressão a * b: III. Calcular a expressão a / b: Conceitos Básicos e Processamento Numérico Pág. 5/11
Armazenamento dos Dados Introduzidos 1. Espaço de trabalho (Workspace) Os comandos introduzidos e as variáveis criadas, são armazenados no espaço de trabalho do Matlab e podem ser chamados a qualquer momento. I. Consultar a lista das variáveis existentes actualmente, escolhendo uma das seguintes formas: Fazer clique no botão da barra de ferramentas Menu File Show Workspace O Matlab abre a seguinte janela, chamada Workspace Browser: II. III. IV. Consultar o conteúdo duma variável: a) No espaço de trabalho fazer duplo-clique sobre uma variável b) Fechar a janela Editor/Debugger Gravar o espaço de trabalho para salvaguardar as variáveis criadas: a) Na janela de comandos seleccionar: Menu File Save Workspace As... b) Seleccionar a sua pasta pessoal c) Introduzir um nome para o ficheiro Eliminar uma variável: a) Seleccionar uma variável no espaço de trabalho b) Fazer clique no botão Delete do espaço de trabalho V. Fechar a janela do espaço de trabalho VI. Recuperar o espaço de trabalho gravado anteriormente: a) Menu File Load Workspace b) Seleccionar a sua pasta pessoal c) Seleccionar o nome do ficheiro definido anteriormente no passo III VII. Consultar a lista das variáveis existentes actualmente e verificar que está incluída a variável eliminada no passo IV, depois de ter sido gravado o espaço de trabalho. 2. Janela de comandos O Matlab permite guardar num ficheiro de texto (formato ASCII), designado diário, tudo o que é exibido na área de trabalho da janela de comandos, ou seja, os comandos introduzidos pelo utilizador e as respostas do Matlab. Para isso, o Matlab fornece os seguintes comandos: Conceitos Básicos e Processamento Numérico Pág. 6/11
diary nome_ficheiro ( armazena o diário no ficheiro nome_ficheiro do directório corrente. Este directório é definido através do Menu File Set Path... ou do botão Path Browser ) diary off ( suspende o armazenamento ) diary on ( recomeça o armazenamento ) Os comandos diary on e diary off permitem controlar a informação a guardar no diário. O armazenamento da informação começa após a criação do diário e pode ser suspenso com o comando diary off. Depois de suspenso, o armazenamento pode recomeçar usando o comando diary on. I. Definir como directório corrente a sua pasta pessoal a)fazer clique no botão Path Browser b)fazer clique no botão Browser... c)indicar a pasta pessoal d)premir o botão OK e)fechar a janela Path Browser II. III. IV. Instruir o Matlab a iniciar o armazenamento do trabalho no diário chamado matlab_1:» diary matlab_1 Calcular as seguintes expressões: a + b a - b Suspender o armazenamento no diário:» diary off V. Abrir o diário matlab_1 no processador de texto do windows chamado Bloco de Notas e analisar o seu conteúdo. VI. Fechar o Bloco de Notas. Vectores e Matrizes Os vectores e as matrizes desempenham um papel central no Matlab porque permitem efectuar, de uma única vez, a mesma operação sobre múltiplos valores. Por exemplo, para calcularmos os valores do seno(x) para 10 valores de x, primeiro criamos um vector V com os valores de x. Depois, pedimos ao Matlab para calcular o seno do vector V, e o cálculo dos 10 valores do seno é feito de uma só vez. Caso contrário, era preciso pedir 10 vezes ao Matlab para calcular o seno. 1. Construção de vectores Há vários comandos: I. Formato: variável = e1, e2,..., en ou variável = e1 e2... en Nota: Como separadores dos elementos (e1,..., en) usam-se espaços ou vírgulas. a) Criar o vector-linha x com os seguintes elementos: 4, -1, 5 e 11. Conceitos Básicos e Processamento Numérico Pág. 7/11
» x = 4, -1, 5, 11 ( ou x = 4-1 5 11 ) b) Para evitar a resposta do Matlab à criação duma variável, é preciso terminar o comando com ponto-e-vírgula. Experimentar por exemplo:» x = 4, -1, 5, 11 ; II. III. Formato: variável = início : fim a) Criar o vector-linha x começando em 3 e terminando em 20, incrementando sucessivamente os elementos de 1 em 1.» x = 3 : 20 Formato: x = início : incremento : fim a) Criar o vector-linha x começando em 3, incrementando sucessivamente os elementos de 5 em 5, e terminando de modo a não exceder o 20.» x = 3 : 5 : 20 IV. Formato: x = linspace ( início, fim, número de valores ) a) Criar o vector-linha x com 10 elementos linearmente espaçados, começando em 3 e terminando em 20.» x = linspace (3, 20,10) V. Ainda é possível definir um vector de elementos com espaçamento logarítmico, usando a função logspace. Para mais pormenores consultar a ajuda do Matlab. 2. Determinar os valores duma função I. Criar o vector x para guardar 15 valores do intervalo 0 x 2, linearmente espaçados:» x = linspace (0, 2 * pi,15) II. Determinar os valores do seno(x):» sin(x) 3. Orientação dos vectores Os vectores abordados anteriormente eram vectores-linha. Para criar vectores-coluna é preciso usar como separadores dos elementos o ponto-e-vírgula. I. Criar o vector-coluna v com os elementos: 7, -2 e 10.» v = 7; -2; 10 Para transformar um vector-linha num vector-coluna, usa-se o operador de transposição pontuada, ponto seguido de apóstrofo (. ). II. Listar numa coluna os elementos do vector x» x. 4. Construção de matrizes Aplicam-se as mesmas regras de construção dos vectores: Vírgulas ou espaços para separar os elementos de uma linha Ponto-e-vírgula para separar as linhas I. Criar a matriz M 1 9 4 3 Conceitos Básicos e Processamento Numérico Pág. 8/11
d) M 2» M ^ 2 Matlab Exercício 1» M = -1, 4 ; 9, 3 5. Operações Vector-Escalar As operações adição, subtracção, multiplicação e divisão dum vector por um escalar são aplicadas a todos os elementos do vector. Por exemplo, na operação x + 3, em que x é um vector, o 3 é adicionado a todos os elementos de x. Calcular: a) x + 3» x + 3 b) 2 * M - 1» 2 * M - 1 6. Operações Vector-Vector Distinguem-se dois tipos de operações: Vectoriais: o adição ( + ) o subtracção ( - ) o multiplicação ( * ) o divisão ( / ) o potenciação ( ^ ) Elemento-a-elemento (operações apenas entre elementos homólogos): o multiplicação pontuada (.* ) o divisão pontuada (./ ) o potenciação pontuada (.^ ) I. Criar a matriz N 2 11 5 2 II. Calcular as seguintes operações: a) M + N» M + N b) M x N» M * N c) M / N» M / N e) Multiplicação elemento-a-elemento das matrizes M e N:» M.* N f) Divisão elemento-a-elemento da matriz M por N:» M./ N g) Potenciação N da matriz M, elemento-a-elemento:» M.^ N Conceitos Básicos e Processamento Numérico Pág. 9/11
7. Funções Matriciais Funções para criar matrizes especiais cujos elementos são todos iguais a 0 ou 1: Outras funções: ones ( n ) Cria matriz quadrada n x n com todos os elementos iguais a 1 size ones ( M ( L, ) C ) Devolve Cria a dimensão matriz L x da C com matriz todos M os elementos iguais a 1 det zeros ( M ( ) n ) Devolve Cria o determinante matriz quadrada da matriz n x n com M todos os elementos iguais a 0 inv zeros ( M () L, C ) Devolve Cria a matriz inversa L x C com de todos M os elementos iguais a 0 I. Resolver o seguinte sistema de equações: 1 1 x y z 0 8 4 5 3 10 x y z 7 7 7 5 7 46 x y z 9 9 9 a)construir a matriz dos coeficientes do sistema C» C = 1, -1/8, -1/4 ; 5/7, 1, -3/7 ; 5/9, 7/9, 1 b)verificar se o determinante da matriz C é diferente de zero» det(c) c)construir o vector coluna dos termos independentes T» T = 0; 10/7; 46/9 d)encontrar a solução do sistema» inv(c)*t Nota: solução do sistema =(1,2,3) Conceitos Básicos e Processamento Numérico Pág. 10/11