Você está na página 1de 32

Matlab 7 & 6 Curso Completo ndice

0. INTRODUO
0.1 O que o Matlab?
No essencial, uma ferramenta de software orientada para o clculo numrico, e com grandes capacidades de representao grfica.

0.2 A quem se destina?


Em particular, muito til em muitos ramos de engenharia (seja para estudantes, engenheiros, ou investigadores).

0.3 Estrutura do livro


PARTE 1 - FUNDAMENTOS BSICOS DO MATLAB

1. INTRODUO AO MATLAB
1.1 Apresentao do Matlab 1.2 Ambiente Matlab
Generalidades sobre o ambiente Matlab. Atribuir uma varivel, e mostrar o que sucede no navegador do Wokspace e na Command Window.

1.2.1 Janela de comandos


O prompt. O comando clc (clear command window) na Command Window e no Menu Edit (aproveitar, e mostrar os outros clears). Em geral, vamos privilegiar os comandos escritos utilizao dos menus. Teclas de direco (recuperar comandos anteriores / navegar na linha de comando).

1.2.2 Editor de cdigo


Abre-se com o comando edit ou com o boto New M-File. No livro diz que este editor permite editar ficheiros de comandos que podem ser de dois tipos: scripts ou functions. Neste livro h menos rigor formal que no do C++, e h tambm palavras que so usadas com significados diferentes. Execuo e debugging, depois.

1.2.3 Espao de dados


Gravao dos comandos de uma sesso (dirio): diary para criar o ficheiro diary na directoria de trabalho, ou diary <nome do ficheiro>. Activar / desactivar o dirio: diary on, diary off. Exemplo 1.2.3_01 (Como obter o cdigo dos exemplos do livro.) Comentrios. Atribuio. Gravao do espao de dados (ficheiros-MAT): save para criar o ficheiro binrio matlab.mat na directoria de trabalho,ou save <nome do ficheiro> (fica com extenso .mat). Para ficheiro ASCII, acrescentar ascii. Em vez de load, pode-se executar o ficheiro. Posso usar Menu File > Save Workspace As e Import Data. Explicar o ponto-e-vrgula, e o multicomando (com vrgula, ou com ponto-e-vrgula). Para usar o Editor de arrays (matrizes, no livro): clicar 2 vezes na varivel dentro do navegador do Workspace, ou funo openvar, e.g., openvar(a).

1.2.4 Navegador de directorias


Para verificar / alterar o caminho (path) onde o Matlab procura os ficheirosM, pode-se usar Menu File > Set Path. Para verificar / alterar a directoria corrente (de trabalho): uso o navegador de ficheiros na barra de ferramentas (), ou as possibilidades da janela Current Directory. Tambm posso usar o comando path ou o comando cd (mais informao no livro, ou no Help). Hierarquia que o interpretador do Matlab segue para avaliar o significado de um identificador: 1. Verifica se uma varivel no Workspace. Se sim, retorna o seu valor. 2. Verifica se uma funo ou um comando internos. Se sim, executa-a(o). 3. Verifica se um ficheiro-M na directoria actual (corrente). Se sim, executa-o. 4. Verifica se um ficheiro-M nas directorias definidas no path, pela ordem respectiva. Se sim, executa-o.

1.2.5 Profiler

GENERALIDADES

uma ferramenta para anlise do desempenho de cdigo Matlab, e pode-se abrir usando o Menu Desktop > Profiler (mais informao no livro, ou no Help).

1.2.6 Janela de ajuda


Mostrar acessos mais fceis, e o essencial da sua utilizao. Comandos help, helpwin, lookfor, e doc (mais informao no livro, ou no Help). Exemplo 1.2.6_01 O comando help escreve os comentrios antes do cdigo. (mostrar help exemplo_010206_01) Exemplo 1.2.6_02 O comando lookfor escreve a 1 linha de comentrio. (mostrar lookfor Curso) 2

(mostrar lookfor ---)

1.3 Comandos e expresses


Exemplo 1.3_01 Utilizao do ltimo resultado. Exemplo 1.3_02 Operaes aritmticas. Exemplo 1.3_03 Utilizao de funes e variveis pr-definidas. (Este comando com ponto-e-vrgula no faria qualquer sentido.)

1.4 Variveis
1.4.1 Definio de variveis
Exemplo 1.4.1_01 Clculo de uma rea, usando variveis. Exemplo 1.4.1_02 Auto-atribuio. Exemplo 1.4.1_03 Expresso ilegal, porque est mal escrita. Exemplo 1.4.1_04 Expresso ilegal, porque inclui uma varivel no definida. Para saber qual o n mximo de caracteres intrepretados num identificador, usa-se o comando namelengthmax. A formao de identificadores segue as mesmas regras do C++, portanto, tambm case-sensitive. Para saber se um identificador pode ser usado, pode-se usar o comando isvarname <nome da varivel>, que retorna 1 ou 0. Alguns identificadores (variveis) que esto pr-definidos: o pi nmero pi. o realmin e realmax menor e o maior nmeros que podem ser armazenados. o nargin e nargout nmero de argumentos de entrada e de sada de uma funo. o Inf nmero + . o NaN (Not-a-Number) resultado indeterminado, e.g, 0/0. o eps Help: eps returns the distance from 1.0 to the next largest doubleprecision number, that is eps = 2^(-52) = 2.2204e-016. o ans (Answer) varivel (esta sim) que guarda o valor do resultado da ltima operao efectuada. Exemplo 1.4.1_05 "Multicomando", e escrita de um comando em linhas sucessivas.

1.4.2 Escrita de variveis


Exemplo 1.4.2_01 Para imprimir um valor na janela de comandos, sem mostrar o identificador, pode-se usar a funo disp. Exemplo 1.4.2_02

Impresso de um string (texto) na janela de comandos, usando a funo disp. Exemplo 1.4.2_03 Impresso de um string e de um valor na janela de comandos, usando a funo disp, a funo num2str, e a concatenao (sintaxe de formao de arrays).

1.4.3 Formatos
Exemplo 1.4.3_01 Utilizao do comando format para estabelecer o formato de apresentao dos valores (livro, p. 27).

1.4.4 Informao sobre variveis


O comando who serve para informar o utilizador sobre quais so as variveis definidas no Workspace. O comando whos faz o mesmo do anterior, mas junta-lhe mais informao. O comando clear limpa o Workspace. Pode ser usado para uma s varivel com a sintaxe clear <nome da varivel>. Devem-se usar comentrios para descrever os aspectos mais importantes do cdigo.

1.5 Funes matemticas elementares


A utilizao do Help, e.g., atravs do comando help <nome da funo> muito til neste contexto.

1.5.1 Funes trigonomtricas


Exemplo 1.5.1_01 Uma ilustrao de algumas igualdades matemticas envolvendo funes trigonomtricas. Exemplo 1.5.1_02 Outra ilustrao de outras igualdades matemticas envolvendo funes trigonomtricas hiperblicas.

1.5.2 Exponenciao
Para as operaes de exponenciao, o Matlab tem as seguintes funes: exp, log, log10, log2, e sqrt. A funo nextpow2 mais para informticos. Exemplo 1.5.2_01 Uma ilustrao de uma igualdade matemtica envolvendo logaritmos.

1.5.3 Nmeros complexos


Exemplo 1.5.3_01 Para formar nmeros complexos, usa-se os smbolos i e j, ou sqrt(-1). Exemplo 1.5.3_02 Tambm se pode usar a funo complex. Exemplo 1.5.3_03 Ilustrao da identidade de Euler (livro, p. 31).

1.5.4 Arredondamentos
Exemplo 1.5.4_01 Ilustrao das funes fix, round, floor, e ceil. (Para mais funes, ver o Help.)

1.6 Resumo das funes Matlab

2. MATRIZES
2.1 Conceito de matriz 2.2 Definio de vectores linha e coluna
Exemplo 2.2_01 Algumas formas de construir vectores de reais. Exemplo 2.2_02 Algumas formas de construir vectores de complexos. Ateno aos espaos: [1 4 7-2i] e [1 4 (7 - 2i)] tm 3 elementos; [1 4 7 -2i] tem 4. Exemplo 2.2_03 Construo de vectores com a notao dois pontos, x0:inc:xF. Por omisso, inc = 1. Exemplo 2.2_04 Construo de vectores com a funo linspace, linspace(x1, x2, n). Por omisso, n = 100. Exemplo 2.2_05 Construo de vectores com a funo logspace, logspace(x1, x2, n). Por omisso, n = 50.

2.3 Definio de matrizes


Exemplo 2.3_01 Construo de matrizes com os processos j conhecidos para vectores. Exemplo 2.3_02 Construo de matrizes, usando mudana de linha. Exemplo 2.3_03 Construo de matrizes com vectores linha. (Com vectores coluna seria semelhante.) Exemplo 2.3_04 Construo de matrizes com as funes zeros e ones. Exemplo 2.3_05 Construo de matrizes de pseudo-aleatrios com as funes rand e randn (randn usa mdia nula e varincia unitria). Exemplo 2.3_06 Construo de matrizes, usando a funo eye. Exemplo 2.3_07 Construo de matrizes, usando submatrizes. (Referir a notao usada para passar os argumentos da funo zeros.)

2.4 Dimenso de matrizes


Exemplo 2.4_01 Diferentes utilizaes da funo size. Exemplo 2.4_02 A funo length.

2.5 Indexao de vectores e matrizes


No essencial, uma questo de usar vectores linha para referir os ndices, podendo-se tambm usar alguns (poucos) smbolos especiais. Exemplo 2.5_01 Alguns modos de extraco de elementos de um vector linha. Exemplo 2.5_02 Mais modos de extraco de elementos de um vector linha. Utilizao do identificador end na indexao. Exemplo 2.5_03 Colocao de um elemento num vector linha. Exemplo 2.5_04 Vrios modos de colocao de elementos num vector linha. Utilizao do smbolo dois pontos na indexao. Exemplo 2.5_05 Como apagar linhas de uma matriz. (Apagar colunas seria semelhante.) Exemplo 2.5_06 Concatenao de submatrizes. De facto, esta sintaxe permite mais que concatenar, incluindo implicitamente elementos nulos.

2.6 Operaes sobre vectores e matrizes


2.6.1 Adio e subtraco
Exemplo 2.6.1_01 Vectores. Exemplo 2.6.1_02 Matrizes.

2.6.2 Multiplicao e diviso


Exemplo 2.6.2_01 Vectores. Exemplo 2.6.2_02 Matrizes. Exemplo 2.6.2_03 Resoluo de sistemas de equaes na forma A x = b, usando o operador de diviso esquerda, ou a funo inv. (Tambm se define diviso direita (livro, p.48).) Exemplo 2.6.2_04 Multiplicao pontuada (elemento a elemento). Exemplo 2.6.2_05 Um exemplo de multiplicao pontuada sem sentido. Exemplo 2.6.2_06 Divises pontuadas.

2.6.3 Potenciao
Exemplo 2.6.3_01 Potenciao pontuada com vectores. Exemplo 2.6.3_02 NO Exemplo defeituoso e intil (nem sequer est no livro). Exemplo 2.6.3_03 Potenciao pontuada com matrizes.

2.7 Funes para manipulao de matrizes GENERALIDADES


Exemplo 2.7_01 Determinante de uma matriz, usando a funo det. Neste exemplo tambm se ilustra a funo randperm. randperm(n) gera um vector com os elementos 1 a n permutados pseudo-aleatoriamente. Exemplo 2.7_02 Rearranjo de uma matriz, usando a funo reshape. O Matlab age coluna a coluna. Exemplo 2.7_03 Rotao de uma matriz, usando a funo rot90. Exemplo 2.7_04 Espelhamentos de uma matriz, usando as funes flipud e fliplr. Exemplo 2.7_05 Construo de uma matriz diagonal a partir de um vector, usando a funo diag. Exemplo 2.7_06 Construo de matrizes diagonais a partir de um vector, usando a funo diag. Exemplo 2.7_07 Obteno de diagonais a partir de uma matriz, usando a funo diag. Exemplo 2.7_08 Obteno de matrizes triangulares a partir de uma matriz, usando as funes triu e tril. (Pode-se obter mais que um tringulo.)

2.8 Estruturas multidimensionais


Em CP, basta saber que existem.

NO

2.9 Resumo das funes Matlab

3. GRFICOS
3.1 Introduo
O comando figure abre uma janela para edio/manipulao de figuras. O processo de criao de um grfico est resumido no livro, p. 65.

3.2 Grficos 2D
O comando help graph2d mostra uma listagem com informao resumida das funes grficas bidimensionais.

3.2.1 Grficos de linha


Exemplo 3.2.1_01 Traado de grficos de linha, usando a funo plot. Exemplo 3.2.1_02 NO Utilizao da funo plot para o traado de funes complexas. Exemplo 3.2.1_03 Utilizao da funo plot com formatao. (Em 3.6.2 retorna-se a este tema.) Exemplo 3.2.1_04 Utilizao da funo plot para o traado de vrias linhas num s grfico. Figure 1: A matriz tempos tambm podia estar organizada por colunas (CUIDADO, porque este o default). H muitas outras formas de sobrepor sries, usando a funo plot, e.g., apresentando as abcissas de cada srie separadas por colunas dentro de uma matriz. Figure 2: O parmetro com o formato opcional. Exemplo 3.2.1_05 Mostrar apenas os grficos. Traado de grficos de linha em escala logartmica, usando a funo loglog. Activao da grelha, usando o comando grid on. Mostrar apenas os grficos. Exemplo 3.2.1_06 Traado de grficos de linha em escala semilogartmica, usando as funes semilogx e semilogy. Exemplo 3.2.1_07 Traado de duas linhas com ordenadas diferentes num s grfico, usando a funo plotyy. Mostrar apenas os grficos. Exemplo 3.2.1_08 Traado de grficos de linha em coordenadas polares, usando a funo polar.

3.2.2 Estatsticas dos dados


Nas janelas das figuras pode-se aceder a uma ferramenta que permite manipular vrias estatsticas sobre os dados. Para o efeito faz-se: Menu Tools > Data Statistics. O boto Save to workspace permite guardar os valores seleccionados no Workspace. Ilustrar com o exemplo_030201_04.

3.3 Grficos 3D
O comando help graph3d mostra uma listagem com informao resumida das funes grficas tridimensionais.

3.3.1 Grficos de linha


Para grficos de linha 3D usa-se a funo plot3 que, em geral, permite modos de funcionamento semelhantes aos da funo plot. Exemplo 3.3.1_01 Mostrar apenas o grfico. Um exemplo simples de traado de grficos de linha 3D, usando a funo plot3.

3.3.2 Grficos de superfcie


Exemplo 3.3.2_01 Traado de grficos de superfcie em malha de arame, usando a funo mesh. A funo meshgrid usada para produzir duas matrizes que, elemento a elemento, definem uma malha plana. A funo peaks uma funo usada para demonstraes. (Para outras formas de utilizao da funo mesh, ver livro, p.77, e seco 3.6.2.) Exemplo 3.3.2_02 Mostrar apenas os grficos. Variantes da funo mesh: meshc, e meshz. Grficos de superfcie em cascata, usando a funo waterfall. O comando hidden off activa a visualizao das regies ocultas da superfcie. Para repor o default usa-se hidden on.. Exemplo 3.3.2_03 Mostrar apenas os grficos. Traado de grficos de superfcie, usando as funes surf e surfl. Para controlar alguns aspectos da colorao da superfcie pode-se usar comando shading. (Mais informao no livro, ou no Help.)

3.3.3 Cenas 3D

GENERALIDADES

Exemplo 3.3.3.01_01 Mostrar apenas os grficos. Utilizao da funo view para escolher a orientao do grfico.

3.4 Grficos em simultneo


Exemplo 3.4_01 Traado de vrios grficos com um s referencial, usando o comando hold. O comando ishold permite determinar o modo actual (1 para on, 0 para off). Exemplo 3.4_02 Traado de vrios grficos (uma matriz) na mesma figura, usando a funo subplot, e a funo plot. (Na funo subplot, o ndice da regio incrementado da esquerda para a direita e de cima para baixo.)

3.5 Grficos especiais


3.5.1 Histogramas
Exemplo 3.5.1_01 Traado de histogramas, usando a funo hist. (Por omisso so considerados 10 intervalos.) (Podem-se sobrepor vrios histogramas, usando uma matriz como argumento.) Exemplo 3.5.1_02 Mostrar apenas o grfico. Traado de histogramas em coordenadas polares, usando a funo rose. (Por omisso so considerados 20 intervalos.)

3.5.2 Grficos de rea


Exemplo 3.5.2_01 Mostrar os grficos e explic-los. Traado de grficos de rea, usando a funo area.

3.5.3 Grficos de barras


Exemplo 3.5.3_01

Traado de grficos de barras, usando a funo bar. Exemplo 3.5.3_02 Mostrar apenas os grficos. Algumas variaes de grficos de barras, usando a funo bar, e a funo bar3. (As variantes barh e bar3h produzem grficos com barras horizontais.)

3.5.4 Grficos de fatias


Exemplo 3.5.4_01 Traado de grficos de fatias, usando a funo pie, e a funo pie3. Exemplo 3.5.4_02 Mostrar apenas os grficos. Traado de grficos de fatias destacadas, usando a funo pie, e a funo pie3. Exemplo 3.5.4_03 Mostrar apenas os grficos. Traado de grficos de fatias destacadas e etiquetadas, usando a funo pie, e a funo pie3. Exemplo 3.5.4_04 Mostrar apenas os grficos. Traado de grficos de fatias parciais, usando a funo pie, e a funo pie3. Este comportamento assumido sempre que a soma dos elementos do vector seja inferior a 1.

3.5.5 Grficos de dados discretos 3.5.6 Grficos de contornos NO

NO

3.5.7 Grficos vectoriais de direco e velocidade 3.5.8 Grficos de funes

NO

Exemplo 3.5.8_01 Traado de grficos de funes, usando a funo fplot, e a funo ezsurf. Em fplot, pode-se acrescentar o contradomnio. A funo ezsurf inclui o ttulo e as etiquetas dos eixos. (Para outras funes semelhantes, ver o livro, ou o Help.)

3.6 Anotao e formatao de grficos


3.6.1 Anotao
Edio interactiva, usando o Menu Insert da figura. Pode-se abrir a toolbar para edio da figura, fazendo: Menu View > Plot Edit Toolbar. Exemplo 3.6.1.01_01 Incluso de ttulo num grfico, usando a funo title. Exemplo 3.6.1.02_01 NO Incluso de legenda num grfico, usando a funo legend. Exemplo 3.6.1.03_01 NO Incluso de etiquetas para os eixos de um grfico, usando a funo xlabel, e a funo ylabel. Exemplo 3.6.1.04_01 Mostrar apenas o grfico. Incluso de notas de texto num grfico, usando a funo text. Caracteres especiais (ver livro, ou Help). (As funes max, mean, e median.)

10

3.6.2 Formatao

GENERALIDADES

Edio interactiva, usando o Rato e o editor de propriedades, activado atravs de: Menu View > Property Editor. Exemplo 3.6.2.01_01 Edio de linhas e marcas. (Mais informao no livro, ou no Help.) Exemplo 3.6.2.02_01 NO Mapas de cor (para controlar a cor dos objectos grficos da figura). Exemplo 3.6.2.03_01 Mostrar apenas os grficos. Texto e a notao TeX ( I ). Exemplo 3.6.2.03_02 Mostrar apenas os grficos. Texto e a notao TeX ( II ). Exemplo 3.6.2.03_03 Mostrar apenas os grficos. Texto e a notao TeX ( III ). Exemplo 3.6.2.03_04 Mostrar apenas os grficos. Texto e a notao TeX ( IV ).

3.7 Ferramentas de edio de grficos


3.7.1 A Paleta da Figura 3.7.2 O Navegador do Grfico 3.7.3 O Editor de Propriedades

GENERALIDADES

3.8 Guardar, abrir, imprimir e exportar


3.8.1 Guardar

GENERALIDADES

Exemplo 3.8.1_01 Gravao de grficos, usando a funo saveas. (Mostrar tambm a gravao a partir do Menu File.)

3.8.2 Abrir 3.8.3 Imprimir 3.8.4 Exportar 3.8.5 O comando print

3.9 Resumo das funes Matlab

4. OPERADORES
4.1 Operadores aritmticos
Os operadores aritmticos foram j introduzidos.

11

4.2 Operadores relacionais


Exemplo 4.2_01 Comparao de escalares. Exemplo 4.2_02 Comparao entre escalar e vector. Exemplo 4.2_03 Comparao de matrizes. Exemplo 4.2_04 Comparao de variveis. (Limitaes numricas.) Exemplo 4.2_05 Comparao de magnitudes muito pequenas. Exemplo 4.2_06 Obteno de cdigos ASCII, usando a funo double. (Estes cdigos so usados para a comparao de caracteres dentro de strings.) Exemplo 4.2_07 Comparao de strings. (No C++ no exigido que tenham a mesma dimenso, mas no Matlab, um string um vector (de chars) . Exemplo 4.2_08 Comparao de strings que incluem algarismos.

4.3 Operadores lgicos


No Matlab h 3 tipos de operadores e funes lgicas: elemento a elemento, bit a bit, e em curto-circuito.

4.3.1 Elemento a elemento


Exemplo 4.3.1_01 E, OU, e NO. (Podem-se usar com matrizes, para operaes elemento a elemento.) Mostrar apenas as operaes. Exemplo 4.3.1_02 Exemplo de utilizao prtica de operadores lgicos (o enunciado est no livro). Exemplo 4.3.1_03 NO Exemplo de balstica (o enunciado est no livro). Utilizao da funo lgica find, que retorna os nmeros de ordem dos elementos diferentes de zero de uma matriz (no livro diz erradamente ndices). Exemplo 4.3.1_04 As funes lgicas any e all, para indagar a existncia de elementos no nulos em vectores (em matrizes analizam as colunas individualmente).

4.3.2 Bit a bit

NO

Isto mais para informticos.

4.3.3 Curto-circuito
Exemplo 4.3.3_01 Avaliao em curto-circuito (&&, e ||). Os operandos tm de ser escalares.

12

4.4 Precedncia dos operadores


Exemplo 4.4_01 Expresses ilustrativas. (Ver hierarquia sumarizada no livro.)

4.5 Funes de teste


O comando doc is mostra todas as funes de teste disponveis. Exemplo 4.5_01 A funo isprime. Exemplo 4.5_02 As funes isspace, e ischar.

4.6 Resumo das funes Matlab

5. CONTROLO DE FLUXO
5.1 Ciclo for
Exemplo 5.1_01 Ciclo for com incremento constante. A funo input. Exemplo 5.1_02 Ciclo for com incremento varivel. A funo num2str. Exemplo 5.1_03 Ciclo for com ndice vectorial (varrendo as colunas de uma matriz). Exemplo 5.1_04 Ciclo for embebido. A funo fprintf.

5.2 Ciclo while


Exemplo 5.2_01 Ciclo while. (Os parntesis na condio no so necessrios.) Para optimizar o tempo de execuo, sempre que possvel, deve-se substituir os ciclos por operaes matriciais equivalentes. Este processo designa-se por vectorizao do algoritmo, e deve o seu poder de optimizao ao facto do Matlab ser uma linguagem interpretada (linha a linha). Exemplo 5.2_02 Ilustrao de optimizao do tempo de execuo. Os comandos tic, e toc.

5.3 Estrutura if
Exemplo 5.3_01 A estrutura de seleco if. Exemplo 5.3_02 A estrutura de seleco if-else. Exemplo 5.3_03 A estrutura de seleco if-elseif-else.

5.4 Estrutura switch-case


Exemplo 5.4_01 Mostrar a sintaxe.

GENERALIDADES

13

Exemplo 5.4_02 Mostrar a sintaxe.

5.5 Instruo continue


Exemplo 5.5_01 A instruo continue. (Esta instruo tambm existe no C++, e funciona do mesmo modo.)

5.6 Instruo break


Exemplo 5.6_01 A instruo break. (Esta instruo tambm existe no C++, e funciona do mesmo modo.)

5.7 Bloco try-catch

GENERALIDADES

Exemplo 5.7_01 O bloco try-catch, para processamento de erros. As funes lasterr e lastwarn. A funo strfind. (Na linha 20 poder-se-a ter usado lasterr directamente, evitando toda a linha 19.)

5.8 Resumo das construes da linguagem Matlab

6. STRINGS E FUNES DE ENTRADA/SADA


6.1 Criao de strings
Exemplo 6.1_01 Um string um array de caracteres. Exemplo 6.1_02 A funo char, para obteno de caracteres ASCII a partir do seu cdigo. (No sentido inverso j tinhamos visto a funo double.) Exemplo 6.1_03 O string enquanto array. Exemplo 6.1_04 Vectores de strings (vectores coluna). Mostrar, e.g., certo(1,6). Exemplo 6.1_05 Criao de vectores de strings, usando a funo char. Exemplo 6.1_06 A funo deblank., para remoo dos espaos finais de um string. Exemplo 6.1_07 A funo isspace, e a funo isletter. Exemplo 6.1_08 A funo class, e a funo ischar.

6.2 Operaes com strings


6.2.1 Concatenao
Exemplo 6.2.1_01

14

Concatenao de strings, usando as funes strcat, e strvcat. (Contrariamente funo char, a funo strvcat ignora eventuais strings vazios.)

6.2.2 Comparao
Exemplo 6.2.2_01 Comparao de strings, usando as funes strcmp, strncmp, strcmpi, e strncmpi. (Com estas funes os strings so comparados na sua totalidade; no elemento a elemento.)

6.2.3 Procura e substituio


Exemplo 6.2.3_01 A funo findstr. (A ordem dos argumentos no relevante.) Exemplo 6.2.3_02 A funo strmatch. Exemplo 6.2.3_03 A funo strrep. Exemplo 6.2.3_04 NO A funo strtok. (Por omisso, apenas retornado o 1 dos dois valores. Eventuais delimitadores colocados no incio so ignorados. Se no h delimitador algum, a funo retorna o argumento.)

6.3 Converso de strings


6.3.1 Maisculas <-> Minsculas
Exemplo 6.3.1_01 As funes upper, e lower.

6.3.2 Nmero <-> String

GENERALIDADES

Exemplo 6.3.2_01 As funes int2str, e num2str. (A funo num2str, por omisso, no garante um formato especfico para a representao.) (Os descritores de formato ver-se-o mais frente.) Exemplo 6.3.2_02 A funo mat2str, e a funo eval. (A funo mat2str usa sempre a mxima preciso, e, por isso mesmo, muito usada com a funo eval.) Exemplo 6.3.2_03 As funes str2double, e str2num. A funo sscanf. . (A funo str2double s funciona com escalares.)

15

6.4 Converso entre bases numricas


6.4.1 Decimal <-> Binria 6.4.2 Decimal <-> Hexadecimal 6.4.3 Decimal <-> qualquer base

NO

6.5 Sada de dados


Exemplo 6.5_01 A funo fprintf. (Originalmente, esta funo significava file print format.) Exemplo 6.5_02 A funo fprintf, com descritores de formato. Exemplo 6.5_03 No desenvolver; mostrar apenas. Mais descritores de formato. (Mais informao no livro, ou no Help.)

6.6 Entrada de dados


Exemplo 6.6_01 A funo input, com dados numricos. Exemplo 6.6_02 A funo input, com strings. (O string pode conter espaos.)

6.7 Abertura e fecho de ficheiro


Os principais modos de abertura de ficheiros (de texto) so: r, w, a, r+, w+, a+. (Mais informao no livro, ou no Help.) Exemplo 6.7_01 A funo fopen, para abrir ficheiros de texto para leitura. (Por omisso, fopen retorna apenas o file descriptor.) Exemplo 6.7_02 A funo fclose. (Para fechar todos os ficheiros abertos, pode-se fazer fclose('all').)

6.8 Ficheiros binrios

NO

6.8.1 Leitura de ficheiros binrios 6.8.2 Escrita de ficheiros binrios

6.9 Posicionamento no ficheiro 6.10 Leitura de strings

NO

Exemplo 6.10_01 A funo fgetl, para leitura de linhas. A funo feof. (Por omisso, os ficheiros so abertos para leitura.) Exemplo 6.10_02 A funo fgets, para leitura de linhas incuindo o newline.

16

6.11 Escrita de dados formatados


Exemplo 6.11_01 A funo fopen, para abrir ficheiros de texto para escrita. Escrita de dados formatados em ficheiros de texto, usando a funo fprintf, e usando matrizes.

6.12 Leitura de dados formatados


Exemplo 6.12_01 Leitura exaustiva de dados (inteiros) a partir de ficheiros de texto, usando a funo fscanf. (Por omisso, fscanf retorna apenas os dados (sem o contador).) Exemplo 6.12_02 Idem para dados string. (Tal como sucede com os dados numricos, os caracteres brancos so ignorados.) Exemplo 6.12_03 Idem para dados reais em vrgula flutuante. Colocao dos dados lidos numa matriz. Exemplo 6.12_04 Mostrar apenas a sintaxe. Leitura de um nmero especificado de dados.

6.13 Resumo das funes Matlab

7. TIPOS DE DADOS ESPECIAIS


7.1 Introduo 7.2 Matriz dispersa
7.2.1 Criao de uma matriz dispersa

GENERALIDADES

Exemplo 7.2.1_01 Ilustrao de matriz esparsa. As funes sparse, e full. Exemplos 7.2.1_02 a 7.2.1_04

7.2.2 Visualizao do contedo


Exemplo 7.2.2_01

7.2.3 Operaes com matrizes dispersas


Exemplos 7.2.3_01 a 7.2.3_03

7.3 Matriz de clulas


7.3.1 Criao de uma matriz de clulas
Exemplo 7.3.1_01 Ilustrao de matriz de clulas. (Mostrar, e.g., matriz_celulas{2,2}.) (Na linha 30, o ponto-e-vrgula e as reticncias so redundantes.) Exemplos 7.3.1_02 a 7.3.1_03

17

7.3.2 Insero de clulas


Exemplo 7.3.2_01

7.3.3 Remoo de clulas


Exemplo 7.3.3_01

7.3.4 Acesso aos dados


Exemplo 7.3.4_01

7.3.5 Visualizao do contedo


Exemplo 7.3.5_01

7.3.6 Operaes com matrizes de clulas


Exemplo 7.3.6_01

7.3.7 Converses
Exemplos 7.3.7.1_01 a 7.3.7.1_02 Exemplos 7.3.7.2_01 a 7.3.7.2_03

7.4 Estrutura de dados


7.4.1 Criao de uma estrutura de dados
Exemplo 7.4.1_01 Ilustrao de estrutura de dados. (Ateno: isto diferente do C++.) Exemplo 7.4.1_02 Ilustrao de vector de estruturas, e de matriz de estruturas. (Mostrar, e.g., pessoas(1,2).) Exemplo 7.4.1_03

7.4.2 Insero de campos


Exemplo 7.4.2_01

7.4.3 Remoo de campos


Exemplo 7.4.3_01

7.4.4 Acesso aos dados


Exemplos 7.4.4_01 a 7.4.4_03

7.4.5 Visualizao do contedo 7.4.6 Operaes com estruturas de dados


Exemplo 7.4.6_01

7.4.7 Converses
Exemplo 7.4.7.1_01 Converses, usando a funo cell2struct. Exemplo 7.4.7.2_01 18

Converses, usando a funo struct2cell.

7.5 Outros tipos de dados especiais


Destaca-se o tipo function_ handle, que ser abordado mais frente. Trata-se de uma referncia para uma funo.

7.6 Resumo das funes Matlab

8. FICHEIROS-M
Os ficheiros-M (ficheiros de cdigo Matlab) podem ser de dois tipos: os scripts e as funes. Os scripts so sequncias de comandos, e usam variveis globais. As funes admitem parmetros de entrada, e podem retornar valores (englobam o conceito de procedimento). Por omisso, as funes usam variveis locais. Para poder ser usados, os ficheiros-M tm de estar numa directoria do path, ou na directoria corrente.

8.1 Introduo

NO

No livro so apresentados os comandos what, type, e more on/off, coisas basicamente inteis.

8.2 Scripts
Os comandos echo on/off permitem ligar/desligar a visualizao das instrues medida que so executadas. Exemplo 8.2_01 Um exemplar de script (ficheiro de comandos). Execut-lo a partir da Command Window. Verificar que as variveis criadas so globais.

8.3 Funes
8.3.1 Estrutura bsica
A palavra function uma das (no muitas) palavras reservadas em Matlab. Para ver todas, executa-se o comando iskeyword (este comando tambm pode ser usado como predicado sobre uma qualquer palavra, retornando o inverso de isvarname). Exemplo 8.3.1_01 Um exemplar de function (funo). Mostrar o seu funcionamento, executando-o a partir da Command Window (o nome do ficheiro que conta). Verificar que as variveis criadas so locais. Em qualquer ponto, as funes podem ter, inseridos, comandos para: fim de execuo (return); envio de mensagem de aviso (warning); ou abortagem de execuo mais envio de mensagem de erro (error). Exemplo 8.3.1_02 Um ficheiro de comandos pode ser declarado como funo. O interesse que as variveis passam a ser locais.

19

No incio do ficheiro (habitualmente antes da declarao da funo), devem-se deixar comentrios explicativos, que tambm podero depois ser usados pelos comandos de ajuda. (O mesmo vale para os scripts.) Alguns comandos de ajuda que usam os comentrios explicativos no incio dos ficheiros-M: doc, lookfor (s as linhas sumrio), help <funo>, e help <directoria> (s as linhas sumrio). O comando which <funo> permite determinar a localizao (directoria) da funo.

8.3.2 Listas de parmetros variveis


Exemplo 8.3.2_01 Uma funo com lista de parmetros e nmero de retornos variveis. As variveis nargin e nargout. Exemplo 8.3.2_02 NO Lista de parmetros e nmero de retornos variveis, usando os vectores de clulas varargin e varargout.

8.3.3 Recursividade

GENERALIDADES (Abordado no C++)

Exemplo 8.3.3_01 NO Uma funo para contagem decrescente. Exemplo 8.3.3_02 Uma implementao recursiva da funo anterior. Exemplo 8.3.3_03 NO Algoritmo recursivo para o clculo da Taxa Interna de Retorno. Exemplo 8.3.3_04 NO Algoritmo recursivo para o clculo da Valor Actual Lquido. Na propriedade RecursionLimit est definido o limite mximo de invocaes recursivas disponvel. O seu valor pode ser obtido/alterado (ver livro).

8.3.4 Variveis persistentes e globais

NO

O comando persistent permite definir variveis que persistem em memria para futuras invocaes da funo que as criou. O comando global permite definir variveis globais. O recurso a este tipo de variveis configura, em geral, uma m prtica de programao.

8.3.5 Dualidade comando/funo

NO

Quando uma funo recebe apenas strings como parmetros de entrada, a sua invocao pode ser feita com a sintaxe de comando.

8.3.6 Sub-funes
Exemplo 8.3.6_01 Um exemplo com vrias sub-funes. (As sub-funes s podem ser invocadas pela funo principal (a primeira), ou por outras sub-funes que estejam definidas dentro do mesmo ficheiro-M.)

20

8.3.7 Funes privadas 8.3.8 Funes annimas

NO

Exemplo 8.3.8_01 Definio e invocao de uma funo annima (dentro de um script). Exemplo 8.3.8_02 Outro exemplo com funes annimas (dentro de uma funo).

8.3.9 Funes embebidas 8.3.10 Funes inline

NO

Exemplo 8.3.10_01 Definio e manipulao de uma funo inline. (Por omisso, esta funo recebe os argumentos pela ordem em que esto na frmula.) As funes formula, e argnames.

8.3.11 Funes de funes

GENERALIDADES

Exemplo 8.3.11_01 Passagem de funes atravs de parmetros, usando um string. A funo eval, para avaliao de expresses. Mostrar o funcionamento da funo. Exemplo 8.3.11_02 Passagem de funes atravs de parmetros, usando uma referncia (function handle). Mostrar o funcionamento da funo. Exemplo 8.3.11_03 NO A funo feval muito verstil, pois pode funcionar com strings, com referncias, e, mais ainda, com funes inline (que se podem obter a partir de expresses dentro de strings, usando a funo fcnchk). A funo vectorize permite vectorizar uma expresso ou uma funo inline definidas para escalares, transformando as operaes aritmticas em operaes pontuadas. NO NO Exemplo 8.3.11_04 Converses entre strings e referncias, usando as funes func2str, e str2func.

8.4 Elementos de estilo


No livro encontra-se, listada, uma coleco de conselhos sobre: colocao de comentrios, indentao, espaamento, identificao de variveis globais, e identificao de sub-funes.

8.5 Erros e depurao de erros


8.5.1 Tipos de erros
Os erros de programao (bugs) podem ser divididos em 4 categorias: o Erros de sintaxe. Por exemplo, sin(2pi). So apanhados pelo interpretador. o Erros de execuo (run-time errors). So apanhados durante a fase de avaliao. O interpretador pode ou no enviar uma mensagem. o Erros de lgica ou semntica. o Erros de aproximao. Por exemplo, factorial(n), com n > 21. 21

Exemplo 8.5.1.2_01 Ilustrao de erro de execuo. (Um exemplo de erro de execuo em C++, a diviso por zero.) Exemplo 8.5.1.3_01 Ilustrao de erro de semntica. Exemplo 8.5.1.3_02 NO Reparao do erro do exemplo anterior.

8.5.2 Depurao de erros


O processo de depurao de erros (debbuging) tem por base a definio de pontos de paragem (breakpoints) do fluxo de execuo. Em modo de depurao, o prompt na linha de comandos passa para K>>. Uma vez atingido um ponto de paragem, possvel: o Avaliar as instrues seguintes passo a passo. o Seguir o fluxo de execuo atravs de invocaes de funes. o Retomar o fluxo de execuo normal. o Abortar a execuo por completo. o Aceder a todos os espaos de dados (espao global, e espaos locais), e inspeccionar todas as variveis a existentes. A depurao de erros pode ser realizada na linha de comandos e/ou no debbuger (interface grfica composta pela janela do Editor, mais o Menu Debug, ou, alternativamente, os respectivos botes da barra de ferramentas). Mostrar o funcionamento do debbuger sobre o exemplo_080306_01.m: o Executar a funo, apagar o grfico, e limpar a janela e o Workspace. o Colocar Breakpoints nas linhas 17, 22, e 58. o Executar a funo, observar a mudana de prompt, e colocar o grfico visvel. o Passar com o Rato sobre as variveis j definidas (neste caso, o argumento it). o Fazer Step, e passar com o Rato sobre a varivel v1. o Fazer Continue, e passar com o Rato sobre as restantes variveis. o ( Se se fizesse Step, saltaria para o Breakpoint da linha 58. Se este Breakpoint no existisse seguiria para a linha 23.) o Fazer Step In, e ver que saltou para dentro da funo fractal. o Ver o rasto das invocaes (por enquanto apenas uma). o Fazer Step, e ver que saltou o bloco-if. o Fazer Continue. o Ver o rasto das invocaes at se chegar ao Breakpoint. o Passar com o Rato sobre os argumentos de line. o Fazer Step In, e ver que o Matlab no deixa entrar nas funes prdefinidas. o Ver o grfico. o Ir fazendo Continue, e observar as mudanas nos marcadores de invocao da funo fractal, e as mudanas no grfico. o Fazer Step Out, e ver que saltou para fora de linha. o Limpar todos os Breakpoints. o Fazer Continue.

22

8.6 Resumo das funes Matlab

9. MISCELNEA DE FUNES MATLAB


9.1 Data e hora
No Matlab h 3 funes para a representao do tempo actual: date, clock, e now. Retornam, respectivamente, um string, um vector de data (6 nmeros), e um nmero de data (serial date number), i.e., o nmero de dias decorridos desde as 0:00 de 1 de Janeiro de 0000. Exemplo 9.1_01 As funes date e clock. Exemplo 9.1_02 A funo now, e a sua decomposio. (A funo rem.) Exemplo 9.1_03 Explicar, sem mostrar. A funo datestr converte uma data para string, em diferentes formatos. Exemplo 9.1_04 Explicar, sem mostrar. A funo datenum converte uma data em string, ou em vector, para nmero de data. Pode tambm ser usada com 3 (ver exemplo) ou 6 argumentos. Explicar, sem mostrar. Exemplo 9.1_05 A funo datevec converte uma data em string, ou nmero de data, para vector. Exemplo 9.1_06 As funes weekday, eomday, e calendar. (A funo weekday pode ter como argumento uma data em string, ou uma data em nmero de data.) Explicar, sem mostrar. Exemplo 9.1_07 Os comandos tic, e toc. (J foram vistos antes.) Exemplo 9.1_08 Explicar, sem mostrar. A funo/comando cputime retorna o tempo de CPU gasto desde o incio da sesso de Matlab. Exemplo 9.1_09 Explicar, sem mostrar. A funo etime, para clculo da diferena entre dois vectores de data.

9.2 Anlise de dados

NO

Exemplo 9.2_01 NO Exemplo intil, que carrega dados supostamente, para uso futuro a partir de um ficheiro-MAT. Exemplo 9.2_02 Explicar, sem mostrar. Numa anlise de dados, habitual comear por os representar num grfico. (Conforme foi j visto, num grfico, pode-se usar a ferramenta Data Statistics.) Exemplo 9.2_03 Explicar, sem mostrar. As funes mean e std. (J foram vistas antes.) Exemplo 9.2_04 Explicar, sem mostrar. As funes max e min. (J foram vistas antes.) Exemplo 9.2_05 A funo sort. (Para alterar a ordem: sort(a, dim, descendent).)

23

9.3 Polinmios
9.3.1 Razes
Exemplo 9.3.1_01 Para representar um polinmio, colocam-se os seus coeficientes num vector linha, assumindo potncias decrescentes da esquerda para a direita. A funo roots. Exemplo 9.3.1_02

9.3.2 Valor de polinmios


Exemplo 9.3.2_01 A funo polyval, para avaliao de polinmios.

9.3.3 Operaes polinomiais


Exemplo 9.3.3_01 Adio de polinmios. Exemplo 9.3.3_02 A funo conv, para multiplicao (convoluo) de polinmios. Exemplo 9.3.3_03 A funo deconv, para diviso de polinmios. Exemplo 9.3.3_04 A funo polyder, para derivao de polinmios.

9.4 Ajuste de curvas e interpolao


Exemplo 9.4_01 A funo polyfit, para regresso linear. Exemplo 9.4_02 A funo polyfit, para regresso de 2 ordem. Exemplo 9.4_03 A funo spline, para interpolao (cbica) de dados exacta. (As splines so definidas por troos, cada um com o seu polinmio.) Exemplo 9.4_04 NO A mesma situao do exemplo anterior, resolvida com retorno para uma estrutura com os coeficientes da spline, e usando tambm a funo ppval para avaliao de splines.

9.5 Integrao numrica


Exemplo 9.5_01 A funo trapz, para clculo de integrais usando o mtodo dos trapzios. Exemplo 9.5_02 A funo quad, para clculo de integrais usando o mtodo de Simpson. (Por omisso, o erro absoluto mximo de 1.0e-6.) (Ateno: se o argumento for uma expresso, esta tem de estar vectorizada.) Exemplo 9.5_03 NO (ainda no deram os Integrais Duplos) A funo dblquad, para clculo de integrais duplos usando o mtodo de Simpson.

24

9.6 Equaes diferenciais 9.7 Resumo das funes Matlab


PARTE 2 - TOOLBOXES

NO (ainda no deram)

10. MATEMTICA SIMBLICA


10.1 Variveis e expresses simblicas
Exemplo 10.1_01 A funo syms, para definir variveis simblicas. A funo sym, para definir variveis simblicas com valor associado. (Tambm se pode fazer x = sym(x), em vez de syms x.) Exemplo 10.1_02 A funo sym permite escolher o formato de representao das variveis simblicas quando elas guardam valores numricos. (Pormenores no livro.) Exemplo 10.1_03 Definio de expresses simblicas, e de matrizes simblicas. Exemplo 10.1_04 A funo findsym, para procurar as variveis dentro de uma expresso simblica. Exemplo 10.1_05 A funo findsym, permite procurar a varivel que, por omisso, ser considerada como independente em eventuais clculos simblicos. Sero sempre as variveis alfabeticamente mais prximas de x.

10.2 Clculos simblicos


10.2.1 Operaes algbricas padro
Exemplo 10.2.1_01 Operaes algbricas com expresses simblicas. A funo compose, para clculo de funo composta. A funo finverse, para clculo de funo inversa.

10.2.2 Derivao
Exemplo 10.2.2_01 A funo diff, para derivao de expresses simblicas.

10.2.3 Integrao
Exemplo 10.2.3_01 A funo int, para integrao de expresses simblicas. Exemplo 10.2.3_02 A funo int permite escolher a varivel relativamente qual se est a integrar. Exemplo 10.2.3_03 A funo int permite resolver integrais definidos.

25

10.2.4 Limite
Exemplo 10.2.4_01 A funo limit, para clculo de limites de convergncia de uma expresso simblica. Por omisso, o clculo feito com x 0 (assumindo que x a varivel independente). Exemplo 10.2.4_02 A funo limit permite o clculo de limites esquerda e direita. Neste caso a invocao tem de incluir sempre os 4 argumentos.

10.2.5 Somatrio
Exemplo 10.2.5_01 A funo symsum, para clculo de somatrios simblicos. Por omisso, o clculo feito entre x = 0 e x = x -1 (assumindo que x a varivel independente). Exemplo 10.2.5_02 A funo symsum, com definio dos limites. (Tambm se pode definir a varivel independente (ver livro).)

10.2.6 Srie de Taylor 10.2.7 Matriz Jacobiana

NO (ainda no deram) NO (ainda no deram)

10.3 Mtodos de formatao e simplificao GENERALIDADES


Exemplo 10.3_01 A funo pretty, para representao embelezada de expresses simblicas. Exemplo 10.3_02 A funo simplify, para simplificao de expresses simblicas. Exemplo 10.3_03 A funo collect, para agrupamento de termos semelhantes numa expresso simblica. Exemplo 10.3_04 A funo expand, para expanso de uma expresso simblica. Exemplo 10.3_05 A funo numden, para extraco do numerador e do denominador de uma expresso simblica. Exemplo 10.3_06 A funo simple, mostrando todas as simplificaes de uma expresso simblica. Retorna a mais compacta. Exemplo 10.3_07 A funo simple, retornando a simplificao mais compacta e a respectiva identificao.

10.4 Resoluo de equaes


10.4.1 Equaes algbricas
Exemplo 10.4.1_01

26

A funo solve, para resoluo de equaes em expresso simblica, ou em string. (A expresso tem de estar na forma cannica.) Pode-se escolher a varivel em ordem qual se est a resolver a equao, fazendo solve(eq, var). Exemplo 10.4.1_02 A funo solve, para resoluo de sistemas de equaes. (As variveis so sempre apresentadas por ordem alfabtica.) Podem-se escolher as variveis em ordem s quais se est a resolver o sistema, fazendo, e.g., solve(eq1, eq2, eq3, 'var1', 'var2', 'var3').

10.4.2 Equaes diferenciais

NO (ainda no deram)

10.5 Grficos de expresses simblicas


Exemplo 10.5_01 A funo ezplot (j vista) pode usar uma expresso simblica como argumento.

10.6 Aritmtica de preciso varivel


No Matlab h 3 tipos de operaes aritmticas numricas: o Aritmtica de vrgula flutuante clculo mais rpido, mas apenas com 16 dgitos de preciso decimal. o Aritmtica racional clculo em geral exacto, mas o mais lento. o Aritmtica de preciso varivel tem a preciso que se quiser. Exemplo 10.6_01 Os 3 tipos de operaes aritmticas. A funo vpa, para clculo em aritmtica de preciso varivel. (Em vez de uma expresso dentro de um string, a funo vpa pode receber como argumento uma expresso numrica ou uma expresso simblica. No entanto, o resultado sempre simblico.) Exemplo 10.6_02 A funo/comando digits, para alterao/visualizao do nmero de dgitos de preciso estabelecido para a vpa. Exemplo 10.6_03 A funo vpa, com estabelecimento privado da preciso.

10.7 lgebra linear


Exemplo 10.7_01 Os tamanhos em matrizes simblicas obtm-se usando as funes j conhecidas para as matrizes numricas. Exemplo 10.7_02 As operaes e as funes usadas para o clculo em lgebra linear com matrizes numricas tambm podem ser usadas com matrizes simblicas. A funo eig, para determinao de valores e vectores prprios, e a funo poly, para determinao do polinmio caracterstico.

27

10.8 Transformadas

NO (ainda no deram)

10.8.1 Transformada de Fourier 10.8.2 Transformada de Laplace 10.8.3 Transformada Z

10.9 Interfaces grficas


A calculadora grfica de funes, funtool. A calculadora grfica de sries de Taylor, taylortool. NO (ainda no deram) NO Exemplo 10.9_01 A funo rsums para abertura de interface grfica, e clculo do integral (usando o mtodo do somatrio de Riemann), de uma expresso simblica.

10.10 Resumo das funes da Toolbox


11. PROCESSAMENTO DE SINAL 11.1 Gerao de formas de onda 11.2 Anlise e implementao de filtros 11.2.1 Filtros analgicos 11.2.2 Filtros digitais 11.2.3 Filtragem 11.3 Projecto de filtros digitais 11.3.1 Projecto de filtros IIR com prottipos analgicos 11.3.2 Projecto de filtros IIR no domnio discreto 11.3.3 Projecto de filtros FIR 11.4 FFT/DFT e anlise espectral 11.5 Janelas de processamento 11.6 Reamostragem 11.7 Interfaces grficas 11.7.1 FDATool 11.7.2 SPTool 11.8 Resumo das funes da Toolbox 12. SISTEMAS DE CONTROLO 12.1 Modelos de sistemas 12.1.1 Funo de transferncia 12.1.2 FRD 12.1.3 Espao de estados 12.1.4 Zeros-plos-ganho 12.2 Conexo de modelos lineares 12.3 Converso de modelos 12.3.1 Converso para funo de transferncia 12.3.2 Converso para zeros-plos-ganho 12.3.3 Converso para espao de estados 12.3.4 Converso contnuo discreto 12.4 Resposta em frequncia 28

12.4.1 Diagrama de Bode 12.4.2 Diagrama do lugar de razes 12.4.3 Diagrama de Nyquist 12.4.4 Margem de fase e de ganho 12.5 Resposta temporal 12.6 Projecto de compensadores 12.6.1 Tipos de compensao 12.6.2 Tcnicas de projecto 12.7 Interfaces grficas 12.7.1 Visualizador LTI 12.7.2 Interface SISO 12.8 Resumo das funes da Toolbox 13. PROCESSAMENTO DE IMAGEM 13.1 Conceitos bsicos 13.1.1 O pixel 13.1.2 O mapa de cor 13.1.3 Classes de armazenamento em memria 13.1.4 Tipos de imagem 13.2 Leitura e escrita de imagem em ficheiro 13.2.1 Leitura de uma imagem 13.2.2 Escrita de uma imagem 13.2.3 Leitura de informao sobre a imagem 13.2.4 Formato DICOM 13.3 Visualizao de imagem 13.3.1 Tcnicas bsicas de visualizao 13.3.2 Tcnicas especiais de visualizao 13.4 Aritmtica com imagens 13.4.1 Adio de imagens 13.4.2 Subtraco de imagens 13.4.3 Multiplicao de imagens 13.4.4 Diviso de imagens 13.4.5 Combinao de operaes aritmticas 13.5 Operaes sobre pixels e estatsticas 13.5.1 Operaes sobre pixels 13.5.2 Propriedades e Caractersticas 13.5.3 Estatsticas 13.6 Transformaes espaciais 13.6.1 Redimensionamento de imagem 13.6.2 Rotao de imagem 13.6.3 Recorte de imagem 13.6.4 Transformaes espaciais genricas 13.7 Melhoramento de imagem 13.7.1 Ajuste de intensidade 13.7.2 Remoo de rudo 13.8 Anlise de imagem 13.8.1 Deteco de orlas 13.8.2 Decomposio em rvore quaternria 13.9 Filtragem linear 13.9.1 Filtragem com imfilter

29

13.9.2 Filtros predefinidos 13.10 Projecto de filtros lineares 2D 13.11 Transformadas de imagem 13.11.1 Transformada de Fourier 13.11.2 Transformada de Co-seno 13.11.3 Transformada de Radon 13.11.4 Transformada de Hough 13.12 Operaes morfolgicas 13.12.1 Dilatao e eroso 13.12.2 Operaes baseadas em dilatao e em eroso 13.12.3 Reconstruo morfolgica 13.12.4 Outras operaes 13.13 Processamento de vizinhana e de blocos 13.13.1 Processamento de vizinhana deslizante 13.13.2 Processamento de blocos distintos 13.13.3 Processamento em colunas 13.14 Processamento de regies 13.14.1 Especificar uma regio 13.14.2 Filtrar uma regio 13.14.3 Preencher uma regio 13.15 Image Registration 13.16 Image Deblurring 13.17 Outras operaes 13.17.1 Reduo do nmero de cores 13.17.2 Converso entre espaos de cor 13.17.3 Converso entre tipos de imagem 13.17.4 Converso entre tipos de dados 13.17.5 Preferncias da Toolbox 13.18 Interfaces grficas 13.19 Resumo das funes da Toolbox PARTE 3 - INTERFACES GRFICAS 14. HANDLE GRAPHICS 14.1 Tipos de objectos grficos 14.1.1 Objectos grficos principais 14.1.2 Objectos de visualizao 14.1.3 Objectos de grupo 14.1.4 Objectos de anotao 14.1.5 Objectos de interface com o utilizador 14.2 Inspeco e alterao de propriedades 14.3 Localizao de objectos 14.4 Propriedades principais 14.4.1 Objecto figure 14.4.2 Objecto axes 14.4.3 Objecto text 14.4.4 Objecto line 14.4.5 Objecto annotation 14.5 Editor de propriedades 14.6 Propriedades por omisso

30

14.7 Resumo das funes Matlab 15. INTERFACES GRFICAS 15.1 Introduo 15.2 Caixas de dilogo 15.2.1 Mensagens e interrogao 15.2.2 Introduo de dados 15.2.3 Seleco de ficheiro 15.2.4 Seleco de directoria 15.2.5 Lista de seleco 15.2.6 Seleco de cor 15.2.7 Seleco de tipo de letra 15.2.8 Propriedades de pgina e impresso 15.2.9 Progresso de processamento 15.2.10 Outras 15.3 Componentes grficos 15.3.1 Figura (figure) 15.3.2 Menu 15.3.3 Sistema de eixos (axes) 15.3.4 Texto esttico (static text) 15.3.5 Texto editvel (edit text) 15.3.6 Push button 15.3.7 Toggle button 15.3.8 Checkbox 15.3.9 Radio button 15.3.10 Slider 15.3.11 Lista (listbox) 15.3.12 Popup Menu 15.3.13 Frame, Painel (panel) e Grupo de botes (button group) 15.3.14 ActiveX control 15.3.15 Barra de ferramentas (toolbar) 15.4 Ferramentas 15.4.1 Editor de Disposio (Layout Editor) 15.4.2 Inspector de Propriedades (Property Inspector) 15.4.3 Editor de Alinhamento (Alignment Tool) 15.4.4 Navegador de Objectos (Object Browser) 15.4.5 Editor de Menus (Menu Editor) 15.4.6 Editor de Ordem Tab (Tab Order Editor) 15.5 Programao da interface grfica 15.5.1 Sub-funes e callbacks 15.6 Aplicao integradora 15.6.1 Planeamento 15.6.2 Implementao - Fase I 15.6.3 Implementao - Fase II 15.7 Resumo das funes Matlab ANEXO A - NOVIDADES DO MATLAB 7 ANEXO B - TOOLBOXES BIBLIOGRAFIA NDICE REMISSIVO

31

32