COMPUTAÇÃO E PROGRAMAÇÃO



Documentos relacionados
Processamento Numérico

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

Introdução aos cálculos de datas

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

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

FICHA ORIENTADA Nº1. Barra de fórmulas. Área de trabalho T E C N O L O G I A S D E I N F O R M A Ç Ã O E C O M U N I C A Ç Ã O

Oficina de MATLAB Nível Básico Aula 1

INTRODUÇÃO AO MATLAB

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

COMPUTAÇÃO E PROGRAMAÇÃO

AMBIENTE DE PROGRAMAÇÃO PYTHON

Aplicações de Escritório Electrónico

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

1.1. Clique no botão Iniciar, seleccione Todos os programas, Microsoft Office e no submenu aberto escolha o programa Microsoft FrontPage.

Sistema Operativo em Ambiente Gráfico

O AMBIENTE DE TRABALHO DO WINDOWS

Sistemas e Sinais (LEE & LETI)

SIMULADO Windows 7 Parte V

INF 1005 Programação I

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

Organização e Arquitetura de Computadores I

Pesquisa e organização de informação

WINDOWS. O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador.

Folha de cálculo. Excel. Agrupamento de Escolas de Amares

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Ambiente de trabalho. Configurações. Acessórios

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

SciLab. Prof. Raimundo C. Ghizoni Teive

Capítulo 2: Introdução à Linguagem C

Módulo III. Folhas de Cálculo

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

CICLO DE APERFEIÇOAMENTO PROFISSIONAL DOS SERVIDORES MUNICIPAIS DE MARICÁ- RJ EDITOR DE TEXTO - WORD

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

No final desta sessão o formando deverá ser capaz de aceder ao Word e iniciar um novo documento.

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

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

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

Criando um script simples

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

Aplicações de Escritório Electrónico

A Estação da Evolução

Folha de Cálculo Introdução à Folha de Cálculo

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

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

O Excel é um software de Planilha Eletrônica integrante dos produtos do Microsoft Office.

Tutorial de Matlab Francesco Franco

indicadas por letras e linhas, indicadas por números. Para selecionar uma planilha para uso, devemos utilizar a guia de planilhas:

Manual do utilizador. Aplicação de agente

Fórmulas e Funções 7

Linguagem algorítmica: Portugol

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Introdução à Programação

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Manual do Utilizador

Microsoft Windows. Aspectos gerais

Algoritmos com VisuAlg

Preenchimento automático, Séries

Introdução ao Microsoft Windows

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

Introdução ao MATLAB

Configuração do Ambiente de Trabalho

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Manipulação de Células, linhas e Colunas

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Instruções para a atividade

Métodos Numéricos em Finanças

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

MANUAL DO UTILIZADOR

Microsoft Office Excel 2007

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

Os elementos básicos do Word

Microsoft Excel 2007

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Microsoft Windows: # 1

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

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

Representação de Dados

7.3. WINDOWS MEDIA PLAYER 12

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

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

Algoritmo e Programação

Manual de Administração Intranet BNI

PACWEB Módulo de Pesquisa MANUAL DO UTILIZADOR

Escola Secundária Infanta D. Maria Folha de cálculo Tarefa 4. Tarefa Excel Nº 4

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Procalc v1.0. Versão Programador

FOLHA DE CÁLCULO EXCEL

4.1 Sequências de caracteres

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

Aplicações de Programação CNC/ISO com Microcomputador

COMPUTAÇÃO E PROGRAMAÇÃO

Universidade Federal de Ouro Preto UFOP

Informática no Ensino da Matemática

Introdução à Linguagem

Transcrição:

COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 1: Introdução ao MATLAB Sumário das tarefas e objectivos da aula: 1. Abrir a aplicação MATLAB e contactar com o ambiente de trabalho 2. Identificar as componentes da janela do MATLAB 3. Entender o conceito de directoria de trabalho 4. Como obter ajuda no MATLAB 5. Utilizar o MATLAB como ferramenta para execução de operações matemáticas 6. Trabalhar com matrizes Enquadramento O MATLAB é um software computacional que pode ser utilizado para cálculo simples ou para cálculo científico avançado, integrando também funcionalidades de visualização gráfica e ambiente de programação. Possíveis aplicações do MATLAB incluem: Cálculo matemático e computação; Desenvolvimento de algoritmos; Aquisição de dados; Modelação, simulação e prototipagem de software; Análise, simulação e preparação de dados; Construção, análise, exploração e visualização de gráficos científicos e de engenharia. O MATLAB foi inicialmente criado com o objectivo de manipular matrizes de forma eficiente - o acrónimo MATLAB significa MATrix LABoratory. Hoje em dia, o MATLAB proporciona uma plataforma computacional de elevado desempenho que disponibiliza diversas funcionalidades, incluindo: Ambiente de trabalho; Interpretador; Linguagem de computação; Editor de programas; Bibliotecas de funções. Ao nível de linguagem de programação, o MATLAB permite o desenvolvimento de aplicações, incluindo desenvolvimento de interface gráfica. Os programas em MATLAB são escritos em m-files, ou seja ficheiros com extensão.m, podendo ser estruturados em funções ou scripts. Não é necessário compilar o programa uma vez que o MATLAB é uma linguagem interpretada. O código fonte deste tipo de ficheiros pode ser livremente visualizado e editado. José Borges, v1.1@2010 1

1. Abrir a aplicação MATLAB 1.1 Abrir o MATLAB 1 Clicar no ícone da aplicação existente no ambiente de trabalho e/ou no Start menu do Windows. 1.2 Abrir o MATLAB 1 Premir em simultâneo as teclas Windows + R. + R 2 Escrever matlab na prompt e, de seguida, prima a tecla ENTER ou clique no botão OK. José Borges, v1.1@2010 2

2. Identificar as componentes da janela do MATLAB Após inicialização do MATLAB deverá aparecer uma janela semelhante à que se apresenta na Figura 1. Identifique e explore as seguintes componentes do ambiente: Windows Menu Command Window Current Directory Workspace Command History Menu do Windows, Barra de Ferramentas e Atalhos Current Directory / Workspace Command History Command Window Figura 1: Janela com o ambiente de trabalho do MATLAB. José Borges, v1.1@2010 3

3. Entender o conceito de directoria de trabalho A Current Directory corresponde a uma directoria existente no disco rígido que é utilizada pelo MATLAB para armazenamento/leitura de dados e/ou acesso a funções locais durante a sessão de trabalho actual. Assumindo que no disco rígido existe uma directoria C:\Program Files\MATLAB\R2009a\work (NOTA: Substituir pela directoria adequada no seu computador!), a Figura 2 exibe a componente Current Directory da Barra de Ferramentas, que indica qual é a directoria de trabalho actual. Current Directory Figura 2: Detalhe da janela do MATLAB com a caixa de texto da Current Directory. Alteração da directoria de trabalho actual 3.1 Escolher uma nova directoria de trabalho pela linha de comandos 1 Na prompt da linha de comandos escrever o comando cd, seguido do caminho para a nova directoria entre pelicas 2 Premir a tecla ENTER 3.2 Escolher uma directoria de trabalho existente no grupo Current Directory 1 Clicar na seta junto à caixa de texto 2 Escolher uma das directorias disponíveis apresentadas como opção José Borges, v1.1@2010 4

3.3 Escolher uma nova directoria de trabalho por navegação no explorador de pastas 1 Clicar no botão de selecção junto à caixa de texto 2 Escolher a directoria pretendida na nova janela gerada pelo MATLAB 3.4 Aceder à directoria no nível acima do actual 1 Clicar no botão de mudança de nível selecção junto à caixa de texto Na prompt da linha de comandos escrever o comando cd.. seguido da tecla ENTER José Borges, v1.1@2010 5

4. Utilizar o MATLAB como ferramenta para a execução de operações matemáticas Cálculos Simples O MATLAB faz cálculos simples e científicos como uma calculadora. Por exemplo, suponha que pretende calcular o perímetro de um rectângulo com lados a = 3 cm e b = 7 cm. 4.1 Introdução directa da expressão matemática 1 Escrever na prompt do MATLAB a operação matemática para cálculo do perímetro, seguido da tecla ENTER >> 3 + 3 + 7 + 7 20 >> 3 * 2 + 7 * 2 20 4.2 NOTAS O resultado da operação fica guardado na variável temporária ans. A multiplicação tem precedência sobre a adição no MATLAB. 4.3 Utilização de variáveis na expressão matemática. 1 Criar duas variáveis a = 3 e b = 7 na prompt do MATLAB, seguido da tecla ENTER 2 Escrever na prompt do MATLAB a operação matemática para cálculo do perímetro, seguido da tecla ENTER >> a = 3, b = 7 a = 3 b = 7 >> perimetro = 2 * a + 2 * b perimetro = 20 4.4 NOTAS O sinal de igual significa atribuição da operação à sua esquerda à variável à sua direita. O resultado da operação ficou guardado nas variável perimetro. 4.5 HANDS-ON Escreva uma expressão matemática para o cálculo da área do rectângulo e atribua o resultado à variável area. Antes de carregar na tecla ENTER, coloque um ponto e vírgula ; no final da instrução. Averigúe o resultado após carregar na tecla ENTER. Escreva na linha de comandos o nome da variável area seguido da tecla ENTER. Justifique o que está a acontecer. José Borges, v1.1@2010 6

Expressões Numéricas e Aritméticas O MATLAB trabalha em notação decimal, hexadecimal, potência de 10 e exponencial em diversos formatos numéricos com aproximadamente 16 algarismos significativos na gama de 10-308 (limite inferior ou de underflow) a 10 308 (limite superior ou de overflow). 4.6 Limites da representação numérica interna. 1 Criar as variáveis x = e y = >> x = 2e200 x = 2.0000e+200 >> y = 1e200 y = 1.0000e+200 2 Fazer o produto de x por y ( ) >> z = x * y Inf 3 Criar a variável z = >> z = 2e-200 z = 2.0000e-200 4 Dividir z por y ( ) >> z / y 0 As expressões podem ser construídas utilizando os operadores aritméticos abaixo indicados. 4.7 Operadores aritméticos + adição - subtracção * multiplicação / divisão à direita \ divisão à esquerda ^ exponenciação 4.8 HANDS-ON Defina duas variáveis x = 5 e y = 2. Escreva expressões para o cálculo de: soma de x e y,. subtrai y a x,. multiplicação de x por y,. divisão de x por y,. calculo de x elevado a y,. José Borges, v1.1@2010 7

A ordem pela qual são avaliadas as expressões no MATLAB é dada pelas seguintes regras: 1) as expressões são avaliadas da esquerda para a direita 2) em termos de operadores a prioridade de avaliação é dada por ordem decrescente de acordo com: i) potência tem mais alta precedência, ii) segue-se a multiplicação e divisão, que têm igual precedência, iii) segue-se a adição e subtracção, que têm igual precedência. 3) podem ser usados parêntesis ( e ) para alterar a ordem de avaliação das expressões. A prioridade da avaliação no caso do uso de parêntesis é feita do interior para o exterior. 4.9 HANDS-ON Averigúe o resultado das seguintes expressões: 4 + 2 * 5 ^ 2 + 2 * 3 4 + 2 * (5 ^ 2 + 2) * 3 ((4 + 2) * 5) ^ 2 + 2 * 3 (4 + 2 * 5 ^ 2 + 2) * 3 4.10 NOTAS Para avaliar múltiplas expressões em paralelo deve digitar cada linha correspondente seguida de SHIFT+ENTER. No final pressione ENTER. Para que o MATLAB execute um comando sem exibir resultado basta colocar um ponto-evírgula no final do comando. As funções e variáveis são case-sensitive, isto é, a não é o mesmo que A. O editor possui Syntax Highlighting e Parentheses Matching 4.11 Utilização de separadores e comentários nas expressões, Permite separar comandos dados em uma mesma linha. ; Permite separar comandos dados em uma mesma linha. Se o último carácter da declaração é um ponto e vírgula, a impressão na tela é suprimida, mas atarefa é realizada. Permite dividir uma expressão em várias linhas usando um espaço em branco e três pontos,"...", no final das linhas incompletas. % Permite introduzir comentários para documentar expressões e/ou linhas de código. O carácter de percentagem % inicia a linha de comentário, podendo seguir-se qualquer outro carácter. 4.12 HANDS-ON Escreva a instrução clear all na prompt do MATLAB e carregue na tecla ENTER Escreva as seguintes expressões na prompt do MATLAB e averigúe o resultado: o a = 3, b = 7, c = 2 * a + 2 * b % correcto o z = 2 * x + 2 * y, x = 3, y = 7 % determinação do perímetro José Borges, v1.1@2010 8

Variáveis Variáveis são entidades computacionais que associam uma etiqueta, ou nome, a uma zona na memória volátil do computador, sendo assim utilizadas para guardar informação. Regras para definição do nome das variáveis em MATLAB: Os nomes das variáveis iniciam-se sempre por uma letra, podendo seguir-se quaisquer outros caracteres alfanuméricos excepto espaços em branco ou caracteres de pontuação. Os nomes das variáveis podem consistir de até 19 caracteres. O MATLAB é case sensitive, isto é, distingue entre letras maiúsculas e minúsculas. 4.13 HANDS-ON (Baseado no Tópico 4.2) Defina as variáveis a = 3 e b = 7. Averigúe o resultado da seguinte expressão: perimetro = 2 * A + 2 * b. Escreva na prompt do MATLAB o nome da variável a e b e justifique o resultado obtido no ponto anterior. O MATLAB utiliza alguns nomes predefinidos para identificar variáveis específicas do programa. 4.14 Exemplos de nomes de variáveis predefinidos no MATLAB ans variável temporária usada para armazenar o resultado da última operação realizada no MATLAB pi número eps menor número tal que, quando adicionado a 1, cria um número maior que 1 no computador inf significa infinito NaN ou nan significa não é um número, por exemplo, 0/0 i ou j unidade imaginária ( ) 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 4.15 NOTAS As variáveis podem ser redefinidas a qualquer momento pela atribuição de um novo valor, ainda que de um tipo numérico diferente do original. Se bem que é possível redefinir as variáveis predefinidas do MATLAB, tal é uma má prática de programação, podemos mesmo dificultar a depuração de erros no código do programa. José Borges, v1.1@2010 9

Funções para cálculo científico O MATLAB inclui um conjunto alargado de funções científicas predefinidas. A maioria destas funções é identificada pelo respectivo nome em Inglês, ou por um acrónimo significativo, e usam uma sintaxe similar à da escrita matemática. 4.16 Exemplos de funções predefinidas no MATLAB date indicação da data clock indicação da hora abs(x) valor absoluto de x cos(x) co-seno de x. sin(x) seno de x. tan(x) tangente de x. acos(x) arco cujo co-seno é x asin(x) arco cujo seno é x. atan(x) arco cuja tangente é 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. sqrt(x) raiz quadrada de x. tan(x) tangente de x. 4.17 Utilização de Funções Científicas. 1 Criar a variável x = 2. >> x = 2; 2 Calcular a raiz quadrada de x, dividir por 2 e atribuir a y. 3 Calcular o arco cujo co-seno é y e atribuir à variável z. >> y = sqrt(x)/2 y = 0.7071 >> z = acos(y) z = 0.7854 4 Converter z de radianos para graus. >> z_graus = z*180/pi z_graus = 45 4.18 NOTAS As operações trigonométricas no MATLAB são realizadas em unidades de radianos. José Borges, v1.1@2010 10

Formatos Numéricos O MATLAB trabalha e armazena os dados numéricos em dupla precisão com 16 dígitos decimais. Mesmo quando definimos uma nova variável, por exemplo a = 6, a representação interna desta é na forma de um número real, logo a = 6,0. É possível fazer o cast do tipo e transformar uma variável, e.g., de real para inteira. A visualização das variáveis não segue a mesma regra do armazenamento e processamento: se uma variável tiver um valor com parte decimal nula, então é exibida na linha de comandos como se de um inteiro se tratasse. Quando um número é inteiro, o MATLAB apresenta-o como um inteiro mas utiliza uma representação interna real. Por omissão, o MATLAB exibe os números reais arredondados até à 4ª casa decimal. Caso os dígitos significativos sejam em número superior, então o valor é apresentado utilizando notação científica. O formato de visualização pode ser alterado pela utilização do comando format. 4.19 Modos de apresentação de dados numéricos (EXEMPLIFICADO COM NÚMERO ) format short 5 dígitos (formato default) 3.1416 format long 16 dígitos 3.141592653589793 format short e 5 dígitos mais expoente 3.1416e+000 format long e 16 dígitos mais expoente 3.141592653589793e+000 format rat Formato racional 355/113 format + Indicação do sinal (positivo, negativo ou zero) format hex Formato hexadecimal 400921fb54442d18 + 4.20 Utilização do comando format 1 Calcular a raiz quadrada de 2. >> sqrt(2) 2 Mudar a representação para o modo de 16 dígitos e calcular a raiz quadrada de 2. 3 Mudar a representação para o modo hexadecimal e calcular a raiz quadrada de 2. 4 Mudar a representação para o modo de 5 dígitos 1.4142 >> format long >> sqrt(2) 1.414213562373095 >> format hex >> sqrt(2) 3ff6a09e667f3bcd >> format short >> sqrt(2) 1.4142 4.21 NOTAS A utilização do comando format altera apenas o formato de exibição numérica, e não a representação na memória interna gerida pelo MATLAB. José Borges, v1.1@2010 11

4.22 Divisão inteira vs. Divisão real 1 Fazer a divisão com resultado inteiro 10 / 5. >> 10 / 5 2 Fazer a divisão com resultado real 10 / 4. >> 10 / 4 3 Fazer a divisão inteira 10 / 4, i.e.: 10 4 2 2 4 Resto da divisão inteira de 10 / 4, i.e.: 10 4 2 2 2 2.5 >> fix(10/4) 2 >> rem(10,4) 2 José Borges, v1.1@2010 12

5. Como obter ajuda no MATLAB O sistema de ajuda no MATLAB está bastante desenvolvido e proporciona um suporte muito útil e eficaz na utilização da ferramenta, bem como nas actividades de programação. Existem dois modos para utilizar a ajuda do MATLAB: na forma de texto pela linha de comandos ou na forma gráfica através de uma GUI apropriada. Ajuda na linha de comandos 5.1 Obter ajuda na linha de comandos 1 Listar todas as toolboxes da instalação actual do MATLAB. 2 Listar todas as funções de uma toolbox específica, neste caso a toolbox elfun que integra algumas funções matemáticas predefinidas no MATLAB. 3 Obter ajuda para uma função específica, neste caso a função seno. >> help HELP topics: Documents\MATLAB matlab\general matlab\ops matlab\lang matlab\elfun matlab\specfun (apenas se mostra um excerto) >> help elfun Elementary math functions. Trigonometric. sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan - Sine. - (No table of contents file) - General purpose commands. - Operators and special characters. - Programming language constructs. - Elementary math functions. - Specialized math functions. - Sine of argument in degrees. - Hyperbolic sine. - Inverse sine. - Inverse sine, result in degrees. - Inverse hyperbolic sine. - Cosine. - Cosine of argument in degrees. - Hyperbolic cosine. - Inverse cosine. - Inverse cosine, result in degrees. - Inverse hyperbolic cosine. - Tangent. (apenas se mostra um excerto) >> help sin SIN Sine of argument in radians. SIN(X) is the sine of the elements of X. See also asin, sind. Overloaded functions or methods (ones with the same name in other directories) help darray/sin.m help sym/sin.m Reference page in Help browser doc sin José Borges, v1.1@2010 13

Ajuda através da GUI do MATLAB 5.2 Utilização da GUI de ajuda no MATLAB 1 Clicar no botão de ajuda junto à caixa de texto 2 Escrever na prompt o nome da função que pretende pesquisar e carregar na tecla ENTER. José Borges, v1.1@2010 14

6. Trabalhar com matrizes Até ao momento foram apresentados casos de utilização do MATALAB com valores escalares. No entanto, o MATLAB é especialmente adequado para a manipulação de matrizes. Uma matriz é uma entidade matemática que agrega dados de um mesmo tipo (que poderão ser, por exemplo, tipo real ou complexo ). Dependendo das dimensões podem-se definir os seguintes casos: matrizes com dimensões, vectores linha com dimensões, vectores coluna com dimensões, escalares com dimensões. Por exemplo, a matriz pode ser definida como se segue, onde os elementos da matriz, o escalar representa o número de linhas e o escalar representa o número de colunas. Definição da matriz no MATLAB A criação de matrizes no MATLAB resulta da explicitação dos elementos da matriz entre parêntesis rectos [ e ] e atribuição a uma variável. Os elementos da matriz são separados por vírgulas, ou espaços em branco no caso das linhas, e por ponto e vírgula no caso das colunas. À semelhança do caso dos escalares, o MATLAB não requer a declaração de tipos, mas todos os elementos são, obrigatoriamente, do mesmo tipo. 6.1 Criação de matrizes 1 Criar a matriz >> A = [1 2; 3 4] A = 1 2 3 4 >> A = [1,2; 3,4] A = 1 2 3 4 >> linha_1 = [1,2] linha_1 = 1 2 >> linha_2 = [3,4] linha_2 = 3 4 >> A = [linha_1; linha_2] A = 1 2 3 4 >> coluna_1 = [1;3] coluna_1 = 1 3 >> coluna_2 = [2;4] coluna_2 = 2 4 >> A = [coluna_1 coluna_2] A = 1 2 3 4 José Borges, v1.1@2010 15

Os elementos da matriz podem ser acedidos pela explicitação dos índices respectivos na matriz ou através do operador :. 6.2 Acesso aos elementos da matriz 1 Aceder ao elemento da matriz A. >> A(1,2) 2 Aceder à segunda linha, elementos e, da matriz A. 3 Aceder à primeira coluna, elementos e, da matriz A. 2 >> [A(2,1) A(2,2)] 3 4 >> A(2,:) 3 4 >> A(:,1) 1 3 As matrizes podem ser concatenadas ou redimensionadas, ou seja, podem-se remover ou acrescentar linhas e/ou colunas. 6.3 Manipulação de matrizes 1 Criar a matriz 2 Concatenar as matrizes A e B e atribuir à matriz C >> B = [5 6; 7 8] B = 5 6 7 8 >> C = [A B] 3 Eliminar a 3ª coluna de C >> C(:,3)=[] 4 Acrescentar um elemento à matriz C na posição linha = 3 e coluna = 2 com valor 9, ou seja, C = C = 1 2 5 6 3 4 7 8 1 2 6 3 4 8 >> C(3,2) = 9 C = 1 2 6 3 4 8 0 9 0 José Borges, v1.1@2010 16

Algumas funções para criar matrizes particulares no MATLAB Existem funções para criar matrizes no MATLAB a partir da definição de parâmetros de entrada. 6.4 Funções para criar matrizes eye(n,m) criação de uma matriz identidade com dimensão zeros(n,m) criação de uma matriz de zeros, i.e. preenchida com valores 0 ones(n,m) criação de uma matriz unitária, i.e. preenchida com valores 1 diag(x) devolve a diagonal principal da matriz X rand(n,m) criação de uma matriz de valores aleatórios linspace(x,y,n) gera um vector com n pontosigualmente espaçados no intervalo x a y José Borges, v1.1@2010 17

Operações com Matrizes As operações com matrizes seguem regras semelhantes às anteriormente apresentadas no caso da operações com escalares. Uma grande diferença reside, por exemplo, no produto de matrizes que é bem definido apenas se o número de colunas da matriz da esquerda é igual ao número de linhas da matriz da direita. Se A é uma matriz e B é uma matriz, então seu produto AB é uma matriz com dimensões, então. A comutação de B por A só será possível se, pelo que o produto BA poderá nem sequer existir. 6.5 Operações com matrizes 1 Criar a constante K = 3 e as matrizes,, e 2 Somar A e B >> A + B 3 Somar A e C >> A + C >> K = 3 K = 3 >> A=[1 2 ; 3 4] A = 1 2 3 4 >> B=[-3;1] B = -3 1 >> C=[3 5 ; -5 2] C = 3 5-5 2??? Error using ==> plus Matrix dimensions must agree. 4 7-2 6 4 Multiplicar K por A >> K * A 3 6 9 12 5 Multiplicar A por C >> A * C -7 9-11 23 6 Multiplicar C por A >> C * A 18 26 1-2 7 Multiplicar A por B >> A * B -1-5 8 Multiplicar B por A >> B * A??? Error using ==> mtimes Inner matrix dimensions must agree. José Borges, v1.1@2010 18

Para além da soma, subtracção e produto, há outras operações que também podem ser realizadas sobre matrizes. 6.6 Funções para realizar operações com as matrizes A^n implementa a exponenciação, i.e. assumindo tipo,, implementa um produto do inv(a) implementação da inversão da matrizes (é conhecido que a inversão de matrizes é uma operação pesada em termos computacionais) A / B implementa a divisão à esquerda de modo eficiente: A \ B implementa a divisão à direita de modo eficiente: A' apresenta a transposta de A det(a) calcula o determinante da matriz A size(a) apresenta as dimensões da matriz A 6.7 Operações com matrizes (continuação) 1 Criar as matrizes,, 2 Inverter a matriz A (NOTA: A matriz A não tem inversa) >> A=[1,2;2,4]; >> C=[3,5;-5,2]; >> inv(a) Warning: Matrix is singular to working precision. Inf Inf 3 Inverter a matriz B >> inv(b) 4 Divisão à direita de A por B >> A / B 5 Divisão à esquerda de A por B >> A \ B Inf Inf 0.0645-0.1613 0.1613 0.0968 0.3871 0.0323 0.7742 0.0645 Warning: Matrix is singular to working precision. 6 Transposta da matriz A >> A' -Inf -Inf Inf 7 Transposta da matriz B >> B' Inf 1 2 2 4 3-5 5 2 José Borges, v1.1@2010 19

8 Determinante da matriz A (NOTA: como o det = 0, conclui-se que a matriz A é singular, i.e. tem linhas linearmente dependentes. Relacionar este resultado com os exercícios 2 e 5.) >> det(a) 9 Determinante da matriz B >> det(b) 0 31 José Borges, v1.1@2010 20