Apostila Matlab

Apostila Matlab

(Parte 1 de 4)

Material elaborado por:

Prof. Dr. Antônio César Baleeiro Alves (UCG/UFG)

Prof. Dr. Enes Gonçalves Marra (UFG) Prof. Dr. José Wilson Lima Nerys (UFG)

Goiânia – GO 2007

2 SUMÁRIO

1 INTRODUÇÃO 5 2 UTILIZANDO O MATLAB 9

2.1 INICIAR O PROGRAMA 9 2.2 PASTA DE TRABALHO 10 2.3 TELA DA LINHA DE COMANDO DO MATLAB 1 2.4 CRIAÇÃO DE ARQUIVOS NO MATLAB 1 2.5 LIMITAÇÕES DO MATLAB 13

3 OPERADORES, CONSTANTES E CARACTERES ESPECIAIS 14

3.1 OPERADORES ARITMÉTICOS 14 3.2 CARACTERES ESPECIAIS 16 3.3 OPERADORES LÓGICOS 18 3.4 OPERADORES RELACIONAIS 19 3.5 CONSTANTES OU VARIÁVEIS 19 3.5.1 INF 20 3.5.2 NAN 20 3.5.3 IEEE 20 3.6 RECURSOS DE APOIO DA TELA DE COMANDO DO MATLAB 20 3.6.1 MENU FILE 20 3.6.2 MENU EDIT 21

4 COMANDOS DE PROPÓSITO GERAL 2

4.1 COMANDOS DE INFORMAÇÃO 2 4.2 COMANDOS DE OPERAÇÃO COM A MEMÓRIA DA ÁREA DE TRABALHO (WORKSPACE) 23 4.3 COMANDOS DE OPERAÇÃO COM FUNÇÕES E COMANDOS 24 4.4 COMANDOS DE OPERAÇÃO COM O CAMINHO DE DIRETÓRIOS 25 4.5 COMANDOS DE OPERAÇÃO COM A JANELA DE COMANDO 26 4.6 COMANDOS DE OPERAÇÃO COM O SISTEMA OPERACIONAL 27

5 COMANDOS BÁSICOS PARA MANIPULAÇÃO DE MATRIZES 29 6 FUNÇÕES MATEMÁTICAS ELEMENTARES 32

7 COMANDOS DE CONTROLE GRÁFICO 36

7.1 GRÁFICOS BIDIMENSIONAIS 36 7.2 GRÁFICOS TRIDIMENSIONAIS 38

8 OUTROS COMANDOS 39

8.1 FUNÇÕES LÓGICAS 39 8.2 FUNÇÕES DE CONTROLE DE FLUXO DE PROGRAMAÇÃO 40 8.3 FUNÇÕES DE CONTROLE DE BAIXO NÍVEL 4 8.4 FUNÇÕES ESPECIALIZADAS: MATEMÁTICAS, MATRICIAIS, ÁLGEBRA LINEAR 45 8.5 FUNÇÕES DE INTEGRAÇÃO, INTERPOLAÇÃO E TRATAMENTO DE DADOS 45 8.6 FUNÇÕES DE CONTROLE DE CORES, IMAGENS E CARACTERES 45

9 PROGRAMANDO EM ARQUIVOS .M 46 9.1 EXEMPLOS DE APLICAÇÃO DE PROGRAMA '.M' 46

10 MATEMÁTICA SIMBÓLICA 51

10.1 USO DA MATEMÁTICA SIMBÓLICA 56 10.2 GRÁFICOS EM DUAS DIMENSÕES 57 10.3 GRÁFICOS EM TRÊS DIMENSÕES 58

1 SIMULINK 60 12 EXERCÍCIOS RESOLVIDOS 69 13 EXERCÍCIOS PROPOSTOS 78 14 BIBLIOGRAFIA 81

1 INTRODUÇÃO

O MATLAB (abreviatura de Matrix Laboratory) é um programa para desenvolvimento e implementação de algoritmos numéricos ou simbólicos que oferece ao usuário um ambiente interativo de programação para estudo e pesquisa nas diversas áreas das ciências exatas.

Esse sistema comporta os recursos de linguagem procedural de programação assemelhados aos do FORTRAN, ANSI C e do Pascal, além de capacidade gráfica e a possibilidade de operar com instruções simbólicas. Um dos aspectos mais poderosos é o fato da linguagem MATLAB permitir construir suas próprias ferramentas reutilizáveis. Isto é feito através da escrita de suas próprias funções e programas especiais conhecidos como arquivos .m.

A primeira versão do MATLAB foi escrita nas Universidades do Novo México e

Stanford, na década de 1970, e destinava-se a cursos de teoria matricial, álgebra linear e análise numérica. Os pacotes para manipulação de sub-rotinas em FORTRAN, denominados LINPACK e EISPACK, foram os precursores do MATLAB.

O MATLAB tem evoluído continuamente, com a contribuição e sugestões de inúmeros usuários. No meio universitário, o MATLAB tornou-se quase que uma ferramenta padrão em cursos introdutórios e avançados de Álgebra Aplicada, Processamento de Sinais, Sistemas de Controle, Estatística e inúmeras outras áreas do conhecimento.

O MATLAB contempla ainda uma grande família de aplicações específicas, as quais são denominadas Toolboxes (caixas de ferramentas), como ilustrado na Fig. 1.1. Estes Toolboxes são conjuntos abrangentes de funções MATLAB cujo objetivo é resolver problemas de áreas específicas, tais como: Processamento de Sinais, Projeto de Sistemas de Controle, Simulação Dinâmica de Sistemas, Identificação de Sistemas, Redes Neuronais, Lógica Fuzzy (nebulosa ou difusa), Otimização de Sistemas, Wavelets, Cálculo Simbólico, e outras áreas. Os usos típicos incluem:

• Cálculos matemáticos;

• Desenvolvimento de algoritmos;

• Modelagem, simulação e confecção de protótipos;

• Análise, exploração e visualização de dados;

• Gráficos científicos e de engenharia;

• Desenvolvimento de aplicações, incluindo a elaboração de interfaces gráficas com o usuário

Fig. 1.1: Diagrama de Blocos do MATLAB

A Fig. 1.1 ilustra alguns componentes do sistema MATLAB. Cabe ressaltar, entretanto, que vários Toolboxes estão disponíveis e a cada nova versão do MATLAB novos Toolboxes são adicionados, incluindo as contribuições de usuários espalhados pelo mundo. O SIMULINK é um acessório que possui bibliotecas adicionais de blocos para aplicações especiais como comunicações e simulações de circuitos elétricos e eletrônicos.

O MATLAB é disponibilizado para praticamente todos os sistemas operacionais atualmente em uso: Macintosh, Windows 95 e NT, Linux, UNIX da Sun, IBM e Open VMS.

A empresa MathWorks é quem negocia/distribui o MATLAB. Seus endereços são:

Toolbox

Toolbox SIMULINK

Biblioteca numérica

Linguagem de programação

Depurador Editor de textos

Para um contato com vistas ao uso do programa na área educacional, tente o endereço:

A necessidade de utilizar um sistema de computação numérica, e a familiarização com os comandos e as funções do MATLAB vão gradualmente aumentando o potencial de quem programa em MATLAB. No entanto, a bibliografia existente pode ser de grande auxílio. Parte desta bibliografia é editada pela The MathWorks, como por exemplo:

• MATLAB User’s Guide (Guia do usuário do MATLAB);

• MATLAB Reference Guide (Guia de referência do MATLAB);

• External Interface Guide (Guia de comunicação externa);

• Installation Guide (Guia de Instalação);

• SIMULINK User’s Guide (Guia do usuário do SIMULINK);

• Online Help (Sistema de auxílio do programa MATLAB).

Inúmeras outras referências podem ser encontradas para o MATLAB, para isto basta procurar nas diversas editoras disponíveis no mercado. Algumas destas referências (em português) para a área de controle podem ser:

• Katsuhiko Ogata, Solução de Problemas de Engenharia de Controle com MATLAB. Prentice-Hall do Brasil, Rio de Janeiro, 1997, 330p.

• Katsuhiko Ogata, Projeto de Sistemas Lineares com MATLAB. Prentice-Hall do Brasil, Rio de Janeiro, 1996, 202p.

Na internet existem diversas listas de discussão a respeito do MATLAB.

Inscrever-se em uma destas lista pode ser uma boa fonte de informação a respeito do MATLAB. Na página da The MathWorks Inc. é possível obter informação sobre

The MathWorks, Inc.

University Sales Department 24 Prime Park Way algumas destas listas, bem como sobre o próprio MATLAB. O endereço desta página é: http://www.mathworks.com

Os endereços eletrônicos a seguir podem ser também utilizados para saber mais sobre o MATLAB:

• Perguntas técnicas: tech@mathworks.com • Sugestões de melhoria: suggest@mathworks.com

• Bug (erros) do MATLAB: bugs@mathworks.com

• Erros nos manuais: doc@mathworks.com

• Registro de produto (após a compra): register@mathoworks.com

• Renovação de licença: service@mathworks.com

• Compra, cotação e informações comerciais: info@mathworks.com

2 UTILIZANDO O MATLAB

O programa MATLAB pode ser executado em diversos sistemas operacionais, tais como: MS-DOS; Windows-95 ou superior; Unix; Linux; VAX/VMS; Solaris; XWindow System; Macintosh; e outros. Este curso está preparado para ser ministrado no sistema MS-DOS/Windows3.1x ou superior. No entanto, apenas o início do programa e as funções de baixo nível são afetados pelo tipo de máquina e sistema operacional utilizados.

2.1 Iniciar o Programa

O programa MATLAB pode ser iniciado com um duplo clique no ícone do MATLAB na área de trabalho do windows (desktop), conforme indica a Fig. 2.1.

Fig. 2.1: Ícone do MATLAB.

Outra forma de iniciar o MATLAB é através do menu INICIAR do Windows95 ou superior. Seleciona-se: INICIAR / PROGRAMA / MATLAB.

Os arquivos executáveis do MATLAB estão no diretório de instalação do

MATLAB, no subdiretório “BIN”. O programa MATLAB é iniciado quando o arquivo MATLAB.exe, do subdiretório “BIN” é executado.

Ao iniciar, o MATLAB invoca o arquivo “MATLABrc”, o qual é o arquivo de configuração inicial do MATLAB. Este arquivo pode estar no subdiretório “BIN”, ou no subdiretório “LOCAL”, ou ainda no subdiretório “...\TOOLBOX\LOCAL”. Isto dependerá da versão do MATLAB utilizada, ou da forma como o programa foi instalado. Durante o processo de início do programa, o arquivo “MATLABrc” estabelece o tamanho padrão de figuras, configurações, caminhos e parâmetros de controle do MATLAB. Neste arquivo pode-se incluir mensagens para os usuários, lembretes, ajustar configurações, etc.

Ao ser executado, o arquivo “MATLABrc” verifica se existe um arquivo denominado “startup.m” no caminho padrão do MATLAB. Este arquivo “startup.m” pode ser empregado pelo usuário para configurar um caminho de sua preferência e executar comandos de sua escolha, sempre que o programa MATLAB for iniciado. Todos os arquivos de comando do MATLAB (arquivos que contém comandos) têm extensão “m”. Portanto, daqui por diante as referências aos arquivos do MATLAB serão feitas apenas pelo nome, fica implícito que a extensão sempre será “m”.

Todos os arquivos de comando do MATLAB têm extensão “m”

Uma sessão do programa MATLAB pode ser terminada com o comando “quit”; com as teclas de atalho ctrl+q; selecionando-se a opção “Exit MATLAB” (“Sair do MATLAB”) no menu “File” (“Arquivo”); ou ainda, clicando-se no botão fechar na tela da área de trabalho do MATLAB.

Botão fechar do MATLAB:

2.2 Pasta de Trabalho

Uma boa prática de utilização do MATLAB é manter todos os arquivos criados pelo usuário em uma pasta (ou diretório) próprio do usuário. Caso esta prática não seja adotada todos os arquivos criados serão armazenados no diretório “BIN” do diretório de instalação do MATLAB. Com o passar do tempo, à medida em que aumentam os arquivos criados pelos usuários, torna-se impossível identificar-se quais arquivos são próprios do MATLAB, e quais arquivos são arquivos do usuário. Isto pode ser ainda mais prejudicial no caso de utilização do MATLAB em ambientes de rede LAN. Nestes casos, a desordem causada nos arquivos do diretório “BIN” pode requerer até mesmo uma nova instalação do programa.

Recomenda-se que o usuário crie a sua própria pasta de trabalho, fora da pasta de instalação do MATLAB (por exemplo, “c:\fulano\MATLAB\”). Ao iniciar o MATLAB, o usuário poderá redefinir a sua pasta de trabalho com o comando “cd”.

cd

cdsobe um nível na hierarquia da cadeia de diretórios (pasta)

Propósito: muda o diretório de trabalho Sintaxe: cd ou cd nome_do_diretorio Descrição: cd isoladamente imprime o caminho do diretório de trabalho na tela; cd diretório define a cadeia de caracteres (string) nome_do_diretorio como o novo diretório de trabalho. Exemplo: cd c:\usuario\marisa\matab.

Se o comando cd for parte integrante do arquivo “startup”, toda vez que o MATLAB for iniciado o diretório de trabalho será redefinido conforme a preferência do usuário.

2.3 Tela da Linha de Comando do MATLAB

A tela da linha de comando do MATLAB (ou workspace) é a tela na qual o usuário recebe o sinal de pronto (prompt) do sistema MATLAB, podendo executar comandos MATLAB, escrevendo-os na linha de comando (ou command line).

Na tela da linha de comando, o usuário fornece dados aos comandos do

MATLAB, executa comandos, recebe os dados de saída do programa MATLAB, controla o fluxo de dados, inicia o modo de edição de arquivos, executa comandos gráficos, ou seja, interage com o programa MATLAB.

Ao criar funções, comandos e variáveis no programa MATLAB é importante estar atento para o fato de que este programa é sensível a caracteres maiúsculos e minúsculos, portanto a variável “xqualquer” é diferente da variável “Xqualquer” para o MATLAB.

O programa MATLAB é sensível a caracteres maiúsculos e minúsculos

2.4 Criação de Arquivos no MATLAB

Existem basicamente duas formas de trabalhar no sistema MATLAB: 1) executando-se comando na linha de comando; ou 2) criando-se um arquivo de comandos do MATLAB.

Para trabalhar na linha de comando do MATLAB basta digitar qualquer comando válido do MATLAB na linha de comando. Assim, é possível criar variáveis, executar comandos, visualizar gráficos, etc.

Muitas vezes é necessário executar um número grande de comandos, e repeti-los sistematicamente. Nestes casos, utilizam-se os arquivos de lote, ou arquivos de comandos MATLAB. Conforme já citada anteriormente, a extensão de arquivos de comando do MATLAB é “m”. O MATLAB busca primeiramente o arquivo de comandos no seu diretório de trabalho (pasta) e posteriormente no seu caminho (path). Portanto, é necessário que o arquivos MATLAB esteja no diretório de trabalho ou no caminho do MATLAB.

Os arquivos de comando do MATLAB devem estar no diretório de trabalho ou no caminho (path) para serem reconhecidos e executados

Os arquivos do MATLAB podem ser criados através de qualquer editor que salva textos no formato ASCII (por exemplo bloco de notas, notepad, write, word, etc). Uma vez editados os arquivos devem ser gravados com extensão “m” antes de serem executados.

Os arquivos MATLAB podem ser abertos ou criados através da opção arquivo (file), escolhendo-se a opção novo (new) ou abrir (open), conforme indicado na Fig. 2.2.

Fig. 2.2: Criação de arquivos de comandos no MATLAB.

O MATLAB já possui uma pré-definição de qual é o editor ASCII a ser utilizado na edição do arquivo de comandos. Esta pré-definição pode se modificada pelo próprio usuário do programa.

As versões mais recentes do MATLAB já possuem um editor ASCII próprio do MATALAB, desenvolvido pela The MathWorks Inc.

Exercício sugerido: criar um arquivo de comando denominado “caminho.m” que estabelece o diretório de trabalho do MATLAB.

2.5 Limitações do MATLAB

As principais limitações do programa MATLAB são: 1) a execução de algoritmos em MATLAB é mais lenta que em linguagens de programação (C, Fortran, LISP, etc); 2) alguns procedimentos gráficos e de interação com o usuário são restritos aos comandos do MATLAB; 3) não é possível gerar arquivos executáveis com o MATLAB, ou seja, um arquivo MATLAB só poderá ser executado no ambiente MATALAB; e 4) o MATLAB é limitado para processamento de expressões matemáticas analíticas.

Os principais concorrentes do MATLAB no mercado são o MATHEMATICA, o

MATCAD e o MAPLE. Alguns destes programas apresentam melhor capacidade de processamento matemático analítico que o MATLAB, notadamente o MATCAD e o MATHEMATICA.

um arquivo MATLAB só poderá ser executado no ambiente MATLAB

3 OPERADORES, CONSTANTES E CARACTERES ESPECIAIS

3.1 Operadores aritméticos

Operador +

Propósito: executar soma de matrizes ou escalares. Sintaxe: v1+v2 ou plus(v1,v2). Descrição: Invoca a função PLUS. Caso seja soma de matrizes, as dimensões das matrizes devem ser iguais. Escalares podem ser somados com qualquer tipo de variável. Exemplos: a+b; plus(a,b); a+2.

(Parte 1 de 4)

Comentários