MANUAL DE INTRODUÇÃO MATLAB



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

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

Sistemas e Sinais (LEE & LETI)

Oficina de MATLAB Nível Básico Aula 1

Tutorial de Matlab Francesco Franco

AMBIENTE DE PROGRAMAÇÃO PYTHON

COMPUTAÇÃO E PROGRAMAÇÃO

Processamento Numérico

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

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

Introdução aos cálculos de datas

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

OPERADORES E ESTRUTURAS DE CONTROLE

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

Métodos Numéricos em Finanças

Matlab Noções introdutórias. Roteiro para aula

Criando um script simples

Introdução ao MATLAB

SciLab. Prof. Raimundo C. Ghizoni Teive

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

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

Aplicações de Escritório Electrónico

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

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

Engenharia Biomédica Jorge Henriques, Fevereiro, 2007

COMPUTAÇÃO E PROGRAMAÇÃO

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

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 Sistemas Não Lineares por Plano de Fase Recorrendo ao MATLAB

APOSTILA MATLAB BÁSICO

Utilidades Diversas. Aplicações Informáticas para Engenharia. SérgioCruz

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

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

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

Programação Básica em Arduino Aula 2

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

Informática no Ensino da Matemática

MICROSOFT POWERPOINT

Vetores, Matrizes e Gráficos

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

O que é o JavaScript?

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

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Representação de Dados

Seu manual do usuário EPSON LQ-630

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

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

Algoritmos com VisuAlg

LABORATÓRIO DE BANCO DE DADOS

MICROSOFT EXCEL AVANÇADO

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

2. ENTRADA DE DADOS 2.1. TEXTOS

Javascript 101. Parte 2

Aplicações de Escritório Electrónico

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

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

AutoLISP - IV Ambiente de programação Visual Lisp. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Introduçã o ão MATLAB e Octave

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

Pesquisa e organização de informação

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Flash MX ActionScript

Capítulo 13 Gerenciamento de arquivos e de diretórios. Introdução ao MATLAB p.32/40

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

Plano de Aula. 1 - Como abrir o programa KmPlot

Escola Superior de Tecnologias e Gestão Instituto Politécnico de Portalegre MS EXCEL. Fevereiro/ Portalegre

1 Introdução ao MatLab

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Oficina de Construção de Páginas Web

e shutdown -a sao formas de desligamento forçados sendo -a o anulador do shutdown -s

Introdução à Programação

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

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

Módulo III. Folhas de Cálculo

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

Organização e Arquitetura de Computadores I

Curso de Programação Computadores

O AMBIENTE DE TRABALHO DO WINDOWS

Introdução ao MATLAB. 2 - Apresentação de resultados em gráfico. 3 - Controlo de fluxo 3.1. Tipos de controlo 3.2. Expressões Lógicas

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

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

Usando o Excel ESTATÍSTICA. A Janela do Excel Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.

Tarefa Orientada 10 Obter informação a partir de uma tabela

UNIVERSIDADE FEDERAL DO AMAPÁ NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO. Manual de Avaliação de Desempenho Cadastro

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Módulo 3936 ASP.NET. Financiado pelo FSE

Introdução aos Sistemas Informáticos

Tutorial do Interpretador de Linguagem Algorítmica (ILA)

e à Linguagem de Programação Python

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Tutorial do Iniciante. Excel Básico 2010

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Transcrição:

ESCOLA NÁUTICA INFANTE D. HENRIQUE DEPARTAMENTO DE MÁQUINAS MARÍTIMAS MANUAL DE INTRODUÇÃO AO MATLAB Por: Prof. Luis Fernandes Mendonça E.N.I.D.H. - 2003/2004

CAPÍTULO 1 INTRODUÇÃO AO MATLAB O MATLAB é um software interactivo constituído por um conjunto de ferramentas matemáticas que proporcionam uma grande ajuda nos cálculos de engenharia. Neste software as matrizes assumem um papel fundamental. O nome MATLAB advém da combinação de 2 palavras, MATrix LABoratory. Inicialmente escrito em FORTRAN, o MATLAB é hoje inteiramente escrito em linguagem C, sendo um sistema integrado, incluindo gráficos e macros programáveis. No Ensino Superior, o MATLAB tornou-se uma ferramenta muito importante, utilizada em diferentes matérias como a álgebra linear e a análise de sistemas de controlo, entre outras. Na indústria, o MATLAB é utilizado na procura e na resolução de problemas práticos de engenharia. PLANO DO CAPÍTULO 1.1 Command Window 1.2 Operações Aritméticas 1.3 Variáveis em MATLAB 1.4 Comentários e Pontuação 1.5 Números Complexos 1.6 Funções Matemáticas 1.7 Ficheiros Script ou m-files 1.8 Como Encontrar Ajuda no MATLAB Pág.1

1.1 COMMAND WINDOW Quando iniciamos o MATLAB aparece-nos uma janela, designada por Command window, através da qual iremos fazer a interacção com o programa. Nela aparece, além de uma barra de menus, o símbolo» (prompt), que nos indica que o MATLAB está pronto para executar as operações e instruções por nós introduzidas. Commands to get started: intro, demo, help help Commands for more information: help, whatsnew, info, subscribe» No quadro seguinte apresentam-se alguns comandos muito utilizados: Command Window clc diary diary nome_ficheiro home more Limpa o conteúdo do Command window. Grava o conteúdo do Command window para um ficheiro de texto chamado diary. Grava tudo o que se passa durante uma sessão (excepto gráficos) para o ficheiro escolhido. Se depois escrevermos diary off o MATLAB interrompe a gravação do que se passa. Se introduzirmos o comando diary on o MATLAB retoma a gravação. Move o cursor para o canto superior esquerdo. Obriga os dados a saírem para o ecrã página a página. (more on e more off) O comando more(n) obriga à saída de n linhas por ecrã. 1.2 OPERAÇÕES ARITMÉTICAS O MATLAB possui todas as operações básicas da matemática podendo ser utilizado com uma simples máquina de calcular. Aqui estão alguns exemplos:» 56/8 7» 8\56 7 Pág.2

» 4+2 6» 4*250 + 2*100 1200 OPERAÇÕES ARITMÉTICAS OPERAÇÃO SÍMBOLO EXEMPLO Adição, a + b + 5 + 3 Subtracção, a b - 23-12 Multiplicação, a. b * 3.14 * 0.85 Divisão, a b / ou \ 56/8 = 8\56 Potenciação, a b ^ 5^2 As regras de precedência utilizadas na avaliação das expressões são as seguintes: as expressões são avaliadas da esquerda para a direita, em que a operação de maior precedência é a potenciação, depois vêm as operações de multiplicação e divisão, e por fim as operações de adição e subtracção. Utilizam-se parênteses para alterar as precedências e o modo como as operações são avaliadas. FORMATOS NUMÉRICOS No MATLAB podemos apresentar os números segundo diversos formatos. Aqui estão alguns exemplos:» preco=1/3 preco = 0.3333» format long preco % Utiliza 16 dígitos» preco preco = 0.33333333333333» format short e % Utiliza 5 dígitos mais expoente» preco preco = 3.3333e-001» format long e % Utiliza 16 dígitos mais expoente» preco Pág.3

preco = 3.333333333333333e-001» format hex % O número é escrito em formato hexadecimal» preco preco = 3fd5555555555555» format bank % Escreve o número utilizando duas casas decimais» preco preco = 0.33» format rat % Utilizando fracções» preco preco = 1/3» format short % Utiliza 5 dígitos» preco preco = 0.3333 Nota: A representação interna dos números não é alterada quando se utilizam estes comandos 1.3 VARIÁVEIS EM MATLAB Considerando o exemplo da página anterior vamos mostrar que podemos efectuar os mesmos cálculos utilizando variáveis:» cadernos=4 cadernos = 4» canetas=2 canetas = 2» itens=cadernos+canetas itens = 6» custo_total=cadernos*250+canetas*100 custo_total = 1200 Quando se atribuem nomes às variáveis há que ter em conta as seguintes observações: Pág.4

Ter cuidado com a utilização de letras maiúsculas e minúsculas. Caderno, caderno e caderno - são 3 variáveis diferentes para o MATLAB. As variáveis devem ter no máximo 19 caracteres pois o MATLAB ignora os restantes caracteres.» equetalestenomeparaumavariavel=2 equetalestenomepara = 2 As variáveis não podem ter símbolos de pontuação. É permitido utilizar o símbolo _.» e_que_tal_este_nome_para_uma_variavel =0 e_que_tal_este_nome = 0 Variáveis Especiais Variável onde são guardados, por defeito, os Ans resultados das operações - ans é o diminutivo de ANSwer. pi Valor de π = 3.1416. Eps Flops Unidade de arredondamento da máquina, i.e., o menor valor que adicionado a 1 representa um número maior que 1 Contador do número de operações efectuadas. Estamos a falar de operações em vírgula flutuante. Inf Representa +, isto é, 1/0 NaN Not-a-Number, símbolo que representa 0/0 ou outra expressão não determinada. MATLAB WORKSPACE O MATLAB recorda-se de todos os comandos que vão sendo introduzidos ao longo de uma sessão, permitindo que os utilizadores repitam ou aproveitem comandos inseridos noutras alturas. De igual modo, todas as variáveis que vão sendo definidas ao longo da sessão ficam disponíveis para serem utilizadas em ocasiões futuras. O local onde esta informação está guardada designa-se por MATLAB workspace. De seguida enumeram-se algumas das coisas que podemos fazer, relacionadas com o workspace: Pág.5

Podemos utilizar as teclas e para rever os comandos anteriormente inseridos. Para alterar a estrutura de um desses comando socorrermo-nos das teclas e. Se quisermos obter uma lista com as variáveis presentes no workspace basta utilizar o comando who. Também podemos utilizar o comando whos que juntamente com os nomes das variáveis refere, também, qual a memória que cada uma ocupa assim como a sua dimensão - o que é muito útil se as variáveis forem matrizes.» who Your variables are: ans canetas itens cadernos custo_total Também é possível gravar o conteúdo do Workspace para um ficheiro. Para isso podemos utilizar o menu [File] [Save Workspace As ] ou utilizar os comandos save e load. As variáveis presentes no Workspace podem ser gravadas em formato binário ou formato ascii. Se utilizarmos apenas o comando save sem especificar qual o nome do ficheiro em que pretendemos guardar a informação, ela será gravado no ficheiro matlab.mat. (Para obter uma explicação mais completa deste comando escreva help save)» save Saving to: matlab.mat» save meu % grava as variáveis em format binário para o ficheiro meu.mat» save dados canetas cadernos custo_total -ascii % as variáveis foram gravadas em formato ascii % podemos escolher quais as variáveis que queremos gravar Podemos remover alguma ou todas as variáveis presentes no Workspace utilizando o comando clear.» who Your variables are: ans cadernos canetas custo_total equetalestenomepara itens preco e_que_tal_este_nome» clear cadernos» who Your variables are: Pág.6

ans canetas custo_total e_que_tal_este_nome equetalestenomepara itens preco» % se escrevermos o comando clear sem nenhum argumento o MATLAB apaga todas as variaveis 1.4 COMENTÁRIOS E PONTUAÇÃO Para introduzir comentários deve utilizar-se o símbolo %.» canetas=10 % Número de canetas% canetas = 10» % tudo o que está para a frente deste símbolo % é ignorado Quando inserimos um comando no MATLAB ele produz um eco, i.e., surge uma confirmação da operação efectuada no ecrã. Se não quisermos que tal aconteça devemos utilizar o símbolo ;.» canetas=10 % este comando produz eco canetas = 10» canetas=10; % este comando não produz eco» Podemos utilizar a virgula (,) para introduzir vários comando na mesma linha» canetas=3, vidros=20, lapis=4 canetas = 3 vidros = 20 lapis = 4 Se quisermos concluir um comando na linha seguinte devemos utilizar o símbolo.» itens=canetas+... lapis+vidros itens = 27 Pág.7

% os... dizem ao Matlab que o resto do comando segue na próxima linha.» % nao pode ser utilizado na continuação de comentários nem de nomes de variáveis. 1.5 NÚMEROS COMPLEXOS No MATLAB a definição de números complexos faz-se de uma maneira natural, apesar disso, eles podem ser definidos utilizando vários métodos: Definição de um complexo utilizando o i para identificar a parte imaginária.» c1=1-2i c1 = 1.0000-2.0000i Definição de um complexo utilizando o j para identificar a parte imaginária.» c1=1-2j % o j também serve c1 = 1.0000-2.0000i Definição de um complexo utilizando o sqrt(-1) para identificar a parte imaginária.» c2=3*(2-sqrt(-1)*3) c2 = 6.0000-9.0000I Definição de um complexo em função de outro complexo.» c4=6+sin(.5)*i % neste caso foi necessário por sin(.5)*i c4 = 6.0000 + 0.4794i Sempre que aparecem raízes de números negativos então o MATLAB considera esse valor como um complexo.» c3=sqrt(-2) c3 = 0 + 1.4142i As operações aritméticas entre complexos são escritas de forma semelhante ao que se fazia para os reais. Pág.8

» c6=c1+c2 c6 = 7.0000-11.0000i» c7=(c1+c2)/c3 c7 = -7.7782-4.9497i Para o MATLAB o resultado de uma operação entre números complexos é um complexo.» c8=i^2 % o quadrado de i é o real -1 c8 = -1.0000 + 0.0000i Apesar de i 2 = -1 ser um real o MATLAB mantêm a parte imaginária do número igual a zero. Para eliminar a parte imaginária de um número complexo utiliza-se a função real.» c9=real(c6) c9 = 7 Apresentam-se, agora, as funções utilizadas para estabelecer a correspondência entre a representação algébrica (z = a+ bi) e a representação polar ( z = r (cos θ + sen θ ), em que r = z ): A função abs determina o valor absoluto de um complexo.» c1 c1 = 1.0000-2.0000i» mag_c1=abs(c1) mag_c1 = 2.2361 A função angle determina o argumento de um complexo em radianos.» angle_c1=angle(c1) angle_c1 = -1.1071» deg_c1=angle_c1*180/pi deg_c1 = -63.4349 Com estas duas funções conseguimos obter as coordenadas polares que desejamos. Pág.9

abs(z) - obtemos o valor do módulo r = z = 2 a + b 2 angle(z) - obtemos o valor do argumento de z, θ = tan 1 b ( ) a = r cosθ, b = r sinθ a Outras duas funções utilizadas com números complexos são: A função conj dá-nos o complexo conjugado de um número complexo.» conj(c1) 1.0000 + 2.0000i A função imag dá-nos a parte imaginária de um complexo.» imag_c1=imag(c1) imag_c1 = -2 A função real dá-nos a parte real de um imaginário.» real_c1=real(c1) real_c1 = 1 1.6 FUNÇÕES MATEMÁTICAS De seguida apresenta-se um quadro com as principais funções matemáticas que o MATLAB possui. Alguns exemplos de aplicação dessas funções matemáticas são apresentados em seguida:» x=sqrt(2)/2 x = 0.7071» y=asin(x) y = 0.7854» y_deg=y*180/pi y_deg = 45.0000 Pág.10

TRIGONOMETRICAS EXPONENTIAL sin Seno exp Exponencial sinh Seno hiperbólico log Logaritmo natural asin Arco cujo o seno é log10 Logaritmo de base 10 asinh Arco cujo seno hiperbólico é sqrt Raiz quadrada cos Co-seno cosh Co-seno hiperbólico acos Arco cujo o co-seno é acosh Arco cujo co-seno hiperbólico é COMPLEXAS tan Tangente abs Valor Absoluto tanh Tangente hiperbólica angle Argumento (em radianos) atan Arco cuja tangente é conj Complexo conjugado atanh Arco cuja tangente hiperbólica é imag Parte imaginaria sec Secante real Parte real sech Secante hiperbólica asec Arco cujo co-seno hiperbólico é asech Arco cujo co-seno hiperbólico é csc Co-secante csch Co-secante hiperbólica acsc Arco cuja co-secante é NUMÉRICAS acsch Arco cuja co-secante hiperbólica é round Arredonda para o inteiro cot Co-tangente mais próximo coth Co-tangente hiperbólica rem Resto da divisão acot Arco cuja co-tangente é sign Sinal de um número acoth Arco cuja co-tangente hiperbólica é» z=rem(23,4) z = 3» z1=23/4 z1 = 5.7500» a=exp(c1) a = -1.1312-2.4717i» sign(1.2) 1 % a resposta é 1 pois o número é positivo» sign(-23.4) -1 % a resposta é 1 quando o número é negativo Pág.11

» sign(0) 0 1.7 FICHEIROS SCRIPT OU M-FILES Quando o número de comandos a serem introduzidos é muito grande e também quando queremos reavaliar as expressões entretanto introduzidas torna-se mais prático utilizar ficheiros de texto com comandos de MATLAB denominados Script files (ou m-files). Também podemos utilizar m-files para definir novas funções (function m-file) mas a abordagem deste tópico será feita no Capítulo 4. Por agora, apenas, vamos considerar os m- files como uma lista de comandos ou instruções de MATLAB. Para criarmos um novo script (ou m-file) basta procurar o comando [New] localizado no menu [File] e seguidamente escolher [M-file]. Como um m-file é um ficheiro de texto então, pode ser feito em qualquer editor de texto o ficheiro tem de ter a extensão.m. Para executar um m-file basta introduzir o seu nome, por exemplo:» exemplo O MATLAB procura o ficheiro exemplo.m e executa todos os comandos como se eles fossem inseridos directamente no command window. Ao utilizar m-files tenha em atenção que: Os comandos presentes no m-file têm acesso às variáveis anteriormente definidas no workspace. As variáveis definidas no m-file passam a fazer parte do workspace e podem ser utilizadas após a execução do m-file. O comando echo on diz ao MATLAB para fazer o eco dos comandos que vai lendo e executando. O comando echo off faz o contrário. Exemplo de um m-file: %Exemplo1 m-files cadernos=4; canetas=input(' Introduza o nº de canetas > '); itens=cadernos+canetas custo_total=cadernos*250+canetas*100 A execução deste m-file produz os seguintes resultados:» exemplo1 Pág.12

Introduza o nº de canetas > 4 itens = 8 custo_total = 1400 Reparar na utilização da função input. Esta função pode receber como valor de entrada qualquer expressão matemática que seja equivalente ao valor que se pretende introduzir.» exemplo1 Introduza o nº de canetas > round(sqrt(13))+3 itens = 11 custo_total = 1700 Aqui está um quadro com algumas das funções úteis na construção de m-files. FUNÇÕES PARA OS M-FILES disp(variável) echo input keyboard pause(n) waitforbuttonpress Mostra o valor de uma variável sem apresentar o seu nome. Controla o eco dos comandos, presentes no m-file, que vão sendo executados. (echo on e echo off) Espera pela introdução de um valor pelo utilizador. Interrompe a execução de um m-file dando liberdade ao utilizador para executar outros comandos. Retoma-se a execução do m-file fazendo return.. Há uma pausa de n segundos na execução. Existe uma pausa na execução do m-file até que se carregue numa tecla do rato ou do teclado. Exemplo de um m-file em que se utiliza o comando keyboard : %Exemplo2 -.m files cadernos=4; Pág.13

canetas=2; keyboard itens=cadernos+canetas custo_total=cadernos*250+canetas*100 A execução deste m-file produz o seguinte resultado:» exemplo2 K» K» who Your variables are: a angle_c1 ans c1 c2 c3 c4 c6 c7 c8 cadernos canetas custo_total deg_c1 e_que_tal_este_nome K» return itens = 6 custo_total = 1200 equetalestenomepara imag_c1 itens lapis mag_c1 preco real_c1 vidros x y y_deg z z1 1.8 COMO ENCONTRAR AJUDA NO MATLAB Existem dois comandos que permitem encontrar ajuda no MATLAB: O comando help e o comando lookfor. Um método equivalente ao comando help baseia-se na utilização do menu [Help].» help HELP topics: toolbox\local matlab\datafun matlab\elfun - Local function library. - Data analysis and Fourier transform functions. - Elementary math functions. Pág.14

matlab\elmat matlab\funfun matlab\general matlab\color matlab\graphics matlab\iofun matlab\lang matlab\matfun matlab\ops matlab\plotxy matlab\plotxyz matlab\polyfun matlab\sounds matlab\sparfun matlab\specfun matlab\specmat matlab\strfun matlab\dde matlab\demos simulink\simulink simulink\blocks simulink\simdemos toolbox\signal toolbox\ident nnet\examples nnet\nnet toolbox\robust mutools\commands mutools\subs toolbox\optim toolbox\splines toolbox\control toolbox\mmle3 toolbox\wintools - Elementary matrices and matrix manipulation. - Function functions - nonlinear numerical methods. - General purpose commands. - Color control and lighting model functions. - General purpose graphics functions. - Low-level file I/O functions. - Language constructs and debugging. - Matrix functions - numerical linear algebra. - Operators and special characters. - Two dimensional graphics. - Three dimensional graphics. - Polynomial and interpolation functions. - Sound processing functions. - Sparse matrix functions. - Specialized math functions. - Specialized matrices. - Character string functions. - DDE Toolbox. - Demonstrations and samples. - SIMULINK model analysis and construction functions. - SIMULINK block library. - SIMULINK demonstrations and samples. - Signal Processing Toolbox. - System Identification Toolbox. - Neural Network Toolbox examples. - Neural Network Toolbox. - Robust Control Toolbox. - Mu-Analysis and Synthesis Toolbox. - Mu-tools examples and internal routines. - Optimization Toolbox. - Spline Toolbox. - Control System Toolbox. - MMLE3 Identification Toolbox. - GUI tools for MATLAB for MS Windows. For more help on directory/topic, type "help topic". Se já soubermos aquilo que procuramos podemos utilizar o comando help de uma forma mais precisa.» help general Pág.15

General purpose commands. Managing commands and functions. help - On-line documentation. what - Directory listing of M-, MAT- and MEX-files. type - List M-file. lookfor - Keyword search through the HELP entries. which - Locate functions and files. demo - Run demos. path - Control MATLAB's search path. Managing variables and the workspace. who - List current variables. whos - List current variables, long form. load - Retrieve variables from disk. save - Save workspace variables to disk. clear - Clear variables and functions from memory. pack - Consolidate workspace memory. size - Size of matrix. length - Length of vector. disp - Display matrix or text. Working with files and the operating system. cd - Change current working directory. dir - Directory listing. delete - Delete file. getenv - Get environment value.! - Execute operating system command. unix - Execute operating system command & return result. diary - Save text of MATLAB session. Controlling the command window. cedit - Set command line edit/recall facility parameters. clc - Clear command window. home - Send cursor home. format - Set output format. echo - Echo commands inside script files. more - Control paged output in command window. Starting and quitting from MATLAB. quit - Terminate MATLAB. startup - M-file executed when MATLAB is invoked. Pág.16

matlabrc - Master startup M-file. General information. info - Information about MATLAB and The MathWorks, Inc. subscribe - Become subscribing user of MATLAB. hostid - MATLAB server host identification number. whatsnew - Information about new features not yet documented. ver - MATLAB, SIMULINK, and TOOLBOX version information.» help sqrt SQRT Square root. SQRT(X) is the square root of X. Complex results are produced if X is not positive. See also SQRTM. No caso de o MATLAB não encontrar informação sobre o tópico pretendido obtemos uma mensagem deste tipo.» help controladores controladores not found. Se pretendermos procurar comandos que estejam relacionados com determinada palavra ou conceito podemos utiliza a instrução lookfor» lookfor complex CPLXPAIR Sort numbers into complex conjugate pairs. CONJ Complex conjugate. IMAG Complex imaginary part. REAL Complex real part. CDF2RDF Complex diagonal form to real block diagonal form. RSF2CSF Real block diagonal form to complex diagonal form. CPLXDEMO Maps of functions of a complex variable. CPLXGRID Polar coordinate complex grid. CPLXMAP Plot a function of a complex variable. GRAFCPLX Demonstrates complex function plots in MATLAB. LOGM2 LOGM2(X) is the matrix natural logarithm of X. Complex CCEPS Complex cepstrum. PHASE Computes the phase of a complex vector mixedalg.m: % [MULT,XQO] = MIXEDALG(T,XQI,K) finds the existence of a complex,diagonal DSORT Sort complex discrete eigenvalues in descending order. Pág.17

ESORT Sort complex continuous eigenvalues in descending order LOGM2 LOGM2(X) is the matrix natural logarithm of X. Complex Pág.18

CAPÍTULO 2 MATRIZES E VECTORES PLANO DO CAPÍTULO 2.1 Definição de Vectores 2.2 Endereçamento de Elementos de Um Vector 2.3 Definição de Matrizes 2.4 Operações com Matrizes 2.5 Operações com Arrays 2.6 Manipulação dos Elementos de uma Matriz 2.7 Matrizes Especiais e Funções com Matrizes Pág.19

2.1 DEFINIÇÃO DE VECTORES Quando se pretende introduzir um vector deve fazer-se:» a=[1 2 3 4 5 6] a = 1 2 3 4 5 6 Também é possível definir um novo vector à custa de outro já existente:» x= [0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pi] x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416» y=sin(x) y = Columns 1 through 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Columns 8 through 11 0.8090 0.5878 0.3090 0.0000 Exemplo de um vector de números complexos. (Consegue notar a modificação que se produz com a introdução dos parênteses)» u=[1-2i 3 4 5+6i] u = Columns 1 through 4 1.0000 0-2.0000i 3.0000 4.0000 Column 5 5.0000 + 6.0000i» v=[(1-2i) 3 4 5+6i] v = 1.0000-2.0000i 3.0000 4.0000 5.0000 + 6.0000i Pág.20

Na definição de vectores um símbolo muito utilizado é o :. Aqui estão alguns exemplos da sua utilização.» x=1:5 % começa em 1 e termina em 5 com incrementos de 1 x = 1 2 3 4 5 Se pretendermos utilizar um incremento diferente fazemos:» y=0:pi/4:pi % começa em 0 e termina em pi com incrementos de pi/4 y = 0 0.7854 1.5708 2.3562 3.1416 Também é possível utilizar incrementos negativos:» z=6:-1:1 z = 6 5 4 3 2 1 Outra maneira de definir o vector y=sin(x) é a seguinte.» y1=(0:0.1:1)*pi y1 = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 Existem duas funções que podemos utilizar para criar vectores.» l=linspace(0,pi,11) l = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416» g=logspace(0,2,11) g = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 Columns 8 through 11 Pág.21

25.1189 39.8107 63.0957 100.0000 Métodos para Definir Vectores x=[2 2*pi sqrt(2) 2-3j] x=n i :n f x=n i :i:n f x=linspace(primeiro,ultimo,n) x=logspace(primeiro,ultimo,n) Cria o vector x com os elementos especificados. (Os elementos podem ser expressões ou números complexos). Cria um vector começando no número n i e terminando em n f, com incrementos de 1. Cria um vector começando no número n i e terminando em n f, com incrementos de i. Cria um vector começando no primeiro e terminando no último, com n elementos. Cria um vector começando em 10 primeiro e terminando em 10 último, com n elementos. 2.2 ENDEREÇAMENTO DE ELEMENTOS DE UM VECTOR Existem vários métodos de endereçar (ou de aceder) aos elementos de um vector. Indicando a posição do elemento no vector» y(3) % queremos o terceiro elemento 1.5708» y(5) % queremos o quinto elemento 3.1416 Utilizando os :» z(1:4) % queremos do primeiro até ao quarto elemento 6 5 4 3 Usando outro vector para extrair os elementos pela ordem pretendida» y([4 2 3 1]) 2.3562 0.7854 1.5708 0 2.3 DEFINIÇÃO DE MATRIZES Pág.22

A introdução de uma matriz deve ser feita da seguinte forma: A=[1 2 3; 4 5 6; 7 8 9], em que o símbolo ; divide as linhas da matriz.» A=[1 2 3;4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9» B=[1;2;3;4;5] B = 1 2 3 4 5 Podemos criar uma nova matriz adicionando novos elementos a uma matriz já existente.»c=[a;10 11 12] C = 1 2 3 4 5 6 7 8 9 10 11 12 2.4 OPERAÇÕES COM MATRIZES TRANSPOSTA Para obter a transposta da matriz A e explicitá-la pela matriz T devemos fazer:» T=A' T = 1 4 7 2 5 8 3 6 9 Para vectores tudo se passa de modo semelhante,» x=[-1 0 2]' x = -1 0 2 Pág.23

ADIÇÃO E SUBTRACÇÃO Considerando os vectores A e B vamos determinar A+B.» A=[1 2 3;4 5 6; 7 8 9] A = 7 8 9» B=[1 4 7; 2 5 8; 3 6 0] B = 1 4 7 2 5 8 3 6 0» A+B 2 6 10 6 10 14 10 14 9 MULTIPLICAÇÃO A multiplicação de matrizes é efectuada utilizando o símbolo * e tal como acontece nas operações de soma e subtracção há que ter em consideração as dimensões das matrizes» X=[-1 0 2] X = -1 0 2» Y=[-2-1 1]' Y = -2-1 1» X*Y 4» Y*X 2 0-4 1 0-2 -1 0 2 Quando se multiplica uma constante por um vector o resultado é o seguinte:» pi*x -3.1416 0 6.2832» pi*y -6.2832-3.1416 3.1416 Pág.24

DIVISÃO Existem dois tipos de divisão: a divisão à esquerda (A\b) e a divisão à direita (A/b). Podemos ver qual a diferença entre estes dois tipos de divisão através de um exemplo. Considere o seguinte sistema de equações: 1 4 7 2 5 8 A 3 x 6. x 0 x. x 1 2 3 = = 366 804 351 b A=[1 2 3; 4 5 6; 7 8 0] A = 1 2 3 4 5 6 7 8 0» b=[366;804;351] b = 366 804 351 Divisão à esquerda ( x = A\b é solução para A * x = b)» x=a\b x = 25.0000 22.0000 99.0000» A*x 366 804 351 Divisão à direita ( y = A/b é solução para x * A = b)» y=a/b??? Error using ==> / Matrix dimensions must agree.» x*a??? Error using ==> * Inner matrix dimensions must agree. Devido as dimensões das matrizes não é possível realizar a divisão à direita teria que se modificar as dimensões de b, fazendo a sua transformada por exemplo. A relação entre estas duas divisões é dada por: A\b = (b /A )» A\b Pág.25

25.0000 22.0000 99.0000» (b'/a')' 25.0000 22.0000 99.0000 Também conseguimos resolver um sistema de equações lineares utilizando a função inv para calcular a inversa de uma matriz - x = A -1 * b antes, porém, devemos verificar se o sistema tem uma solução única calculando o seu determinante.» det(a) 27» x=inv(a)*b x = 25.0000 22.0000 99.0000 2.5 OPERAÇÕES COM ARRAYS Quando se utiliza o termo operações com arrays pretende-se referir que as operações aritméticas são feitas de elemento para elemento. ADIÇÃO E SUBTRACÇÃO Para a adição e subtracção as operações com array e as operações com matrizes são iguais. (Utiliza-se os mesmos símbolos) MULTIPLICAÇÃO E DIVISÃO A multiplicação de array é efectuada elemento a elemento, sendo representada por.*. Se A e B têm dimensões iguais então C = A.* B resulta numa matriz em que cada um dos seus elementos é igual ao produto dos elementos individuais de A e B, nas mesmas posições» A=[2 4 6] A = 2 4 6» B=[2 2 2] B = 2 2 2» C=A.*B C = 4 8 12 No que diz respeito à divisão; se tivermos D = A./ B ou E = A.\ B cada elemento de D e E é obtidos através da divisão (à esquerda ou à direita) envolvendo os elementos respectivos de A e B.» D=A./B Pág.26

D = 1 2 3» E=A.\B E = 1.0000 0.5000 0.3333 POTENCIAÇÃO A potenciação elemento a elemento é efectuada utilizando os símbolos.^.» P=A.^B P = 4 16 36 Contudo, o expoente poderá ser um escalar.» Pe=A.^3 Pe = 8 64 216 Mas também podemos ter a base como um escalar» Ps=3.^A Ps = 9 81 729 Operações com Arrays Sabendo que : A = [a 1 a 2 a n ]; B = [b 1 b 2 b n ]; c Escalar Adição com um escalar Multiplicação com um escalar A+c = [a 1 +c a 2 +c a n +c] A*c = [a 1 *c a 2 *c a n *c] Adição A+B = [a 1 +b 1 a 2 +b 2 a n +b n ] Multiplicação A.*B = [a 1.*b 1 a 2.*b 2 a n.*b n ] Divisão à esquerda A.\B = [a 1.\b 1 a 2.\b 2 a n.\b n ] Divisão à direita A./B = [a 1./b 1 a 2./b 2 a n./b n ] Potenciação A.^c = [a 1.^c a 2.^c a n.^c] c.^a = [c.^a 1 c.^a 2.^c c.^a n ] A.^B = [a 1.^b 1 a 2.^b 2 a n.^b n ] Pág.27

2.6 MANIPULAÇÃO DOS ELEMENTOS DE UMA MATRIZ Podemos alterar o valor de apenas um elemento da matriz fazendo:» A=[1 2 3; 4 5 6; 7 8 0] A = 1 2 3 4 5 6 7 8 0» A(3,3)=9 % modifica o elemento na 3ªlinha, 3ªcoluna para 9 A = 1 2 3 4 5 6 7 8 9 Também podemos fazer:» A(2,2)=A(1,2)+A(3,2) A = 1 2 3 4 10 6 7 8 9 Outra manipulação dos elementos de uma matriz que o MATLAB permite é a seguinte:» b=a(:) % transformamos uma matriz num vector coluna b = 1 4 7 2 10 8 3 6 9 Se quisermos criar um matriz B invertendo a ordem das linhas de A, fazemos:» B=A(3:-1:1,1:3) % escolhemos as linhas, começando na 3 e acabando na 1 B = % escolhemos as coluna, começando na 1 e acabando na 3 7 8 0 4 5 6 1 2 3 De modo semelhante podemos obter uma submatriz de A.» C=A(1:2,2:3) C = 2 3 6 Pág.28

Manipulação dos Elementos de uma Matriz A(l,c) A(l,:) A(:,c) A(:,c) Resulta uma submatriz de A com as linhas definas pelo vector l e com as colunas definas (ou indexadas) pelo vector c. Obtemos uma submatriz de A com as linhas definas pelo vector l e com todas as colunas de A. Resulta uma submatriz de A com todas as linhas de A e com as colunas definas (ou indexadas) pelo vector c. Obtemos um vector coluna com todos os elementos de A tendo estes sido retirados coluna a coluna da matriz A. 2.7 MATRIZES ESPECIAIS E FUNÇÕES COM MATRIZES De seguida apresentam-se algumas das matrizes especiais que é possível criar utilizando o MATLAB. Matrizes Especiais» zeros(3) 0 0 0 0 0 0 0 0 0» ones(3) 1 1 1 1 1 1 1 1 1» ones(3)*pi 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416» eye(3) % matriz identidade 3x3 1 0 0 0 1 0 0 0 1 Pág.29

Algumas Matrizes Especiais [] Matriz vazia eye Matriz identidade ones Matriz com todos elementos iguais a 1. zeros Matriz com todos elementos iguais a 0. pascal Matriz (triangular) de Pascal. rand Matriz preenchida aleatoriamente com elementos entre 0 e 1 (distribuição uniforme). randn Matriz preenchida aleatoriamente e segundo a distribuição normal com µ = 0 e σ = 1. FUNÇÕES COM MATRIZES O MATLAB possui inúmeras funções com matrizes no quadro seguinte vamos apresentar apenas algumas. Funções com Matrizes det(a) expm(a) logm(a) inv(a) d=eig(a) [V,D]=eig(A) poly(a) Determinante Matriz exponencial Matriz logaritmo Inversa da matriz A Valores próprio e vectores próprios. Polinómio característico Pág.30

CAPÍTULO 3 OPERADORES RELACIONAIS, OPERADORES LÓGICOS E ESTRUTURAS DE CONTROLO PLANO DO CAPÍTULO 3.1 Operadores Relacionais 3.2 Operadores Lógicos 3.3 Estrutura de Escolha (IF ELSE-END) 3.4 Estruturas de Repetição (FOR, WHILE) Pág.31

3.1 OPERADORES RELACIONAIS No MATLAB utilizamos os operadores lógicos e relacionais para, juntamente com as estruturas de repetição, controlar a ordem de execução de um conjunto de instruções ou comandos do MATLAB. Os únicos outputs ou resultados possíveis para uma expressão contendo operadores relacionais e lógicos são 1 (Verdadeiro) ou 0 (Falso)» 3<4 1 % Verdadeiro» 3>4 0 % Falso Operadores Relacionais < Menor que <= Menor ou igual a > Maior que >= Maior ou igual a == Igual a ~= Diferente de Estes operadores podem ser utilizados na comparação entre duas matrizes, com as mesmas dimensões, ou para comparar um escalar com os elementos que compõem a matriz» A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 Pág.32