Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Matlab, Notas de estudo de Engenharia Química

Trata-se de uma apostila que ensina como mexer no matlab.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 22/09/2010

rafael-cesar-teixeira-oliveira-5
rafael-cesar-teixeira-oliveira-5 🇧🇷

4.2

(5)

6 documentos

1 / 74

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de São João Del-Rei
Campus Alto Paraopeba
Disciplina: Cálculo Numérico
Apostila de Matlab
Prof. Alexandre Cândido Moreira
Prof. Heber Tormentino de Sousa
Agosto de 2010
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a

Pré-visualização parcial do texto

Baixe Apostila Matlab e outras Notas de estudo em PDF para Engenharia Química, somente na Docsity!

Universidade Federal de São João Del-Rei

Campus Alto Paraopeba

Disciplina: Cálculo Numérico

Apostila de Matlab

Prof. Alexandre Cândido Moreira

Prof. Heber Tormentino de Sousa

Agosto de 2010

_______________________________________________________________________________

_______________________________________________________________________________

1. INTRODUÇÃO

MATLAB (abreviatura de Matrix Laboratory – Laboratório de Matrizes) é um programa d ecomputador de uso específico, otimizado para executar cálculos científicos e de engenharia. Ele nasceu como um programa para operações matemáticas sobre matrizes, mas ao longo dos anos transformou-se em um sistema computacional flexível capaz de resolver essencialmente qualquer problema técnico. Seus elementos básicos são matrizes que não requerem dimensionamento. Ele permite implementar e resolver problemas matemáticos muito mais rápida e eficientemente que através de outras linguagens como C, Basic, Pascal ou Fortran. O MATLAB possui uma família de aplicativos específicos (“toolboxes”), que são coleções de funções usadas para resolver determinados problemas tais como: otimização, manipulação algébrica, redes neurais, processamento de sinais, simulação de sistemas dinâmicos, entre outros. Provavelmente, a característica mais importante do MATLAB é a sua extensibilidade, que permite que engenheiros, matemáticos cientistas, e até mesmo você, contribuam para o enriquecimento.

1.1 Vantagens do Matlab O Matlab tem muitas vantagens, em comparação com linguagens computacionais convencionais, para resolver problemas técnicos. Entre elas, temos: a) Facilidade de uso: o Matlab é uma linguagem interpretada, assim como muitas versões de Basic. b) Independência de Plataforma: tem suporte em diferentes sistemas computacionais: Windows XP/Vista, Linux, diversas versões de Unix e Macintosh. c) Funções Predefinidas: conta com uma grande biblioteca de funções predefinidas, que apresentam soluções testadas e empacotadas para diversas tarefas técnicas básicas d) Desenhos Independentes de Dispositivos: diferente da maioria das linguagens de computador, o Matlab tem muitos comandos para desenhos e imagens, que podem ser exibidos em qualquer dispositivo de saída gráfica compatível com o computador que executa o Matlab. Este recurso torna o Matlab uma ferramenta excepcional para visualização de dados técnicos.

_______________________________________________________________________________

e) Interface Gráfica de Usuário: tem ferramentas que permitem a um programador construir interativamente uma interface gráfica de usuário (GUI – Graphical User Interface) para seus programas. Com este recurso, o programador é capaz de projetar programas sofisticados de análise de dados, os quais podem ser operados por usuários relativamente inexperientes.

1.2 Desvantagens do Matlab

O Matlab tem duas desvantagens principais. Primeiro, é uma linguagem interpretada, por isso pode ser mais lento que linguagens compiladas. Esse problema pode ser diminuído pela estruturação apropriada dos programas Matlab para otimizar o desempenho do código vetorizado. A segunda desvantagem é o custo: uma cópia completa do Matlab é de cinco a dez vezes mais cara que um compilador convencional C ou Fortran.

2. O AMBIENTE MATLAB

A unidade fundamental de dados em qualquer programa Matlab é a matriz, que é uma coleção de valores de dados organizados em linhas e colunas, determinada por um nome único. Até mesmo escalares são tratados como matrizes em Matlab, eles são simplesmente matrizes co apenas uma linha e uma coluna. No Matlab, os arquivos de comando tem extensão .m (M-files) e os arquivos de dados binários default tem extensão .mat (Mat-files). No Windows, o Matlab é instalado com os seguintes diretórios: BIN contém os programas binários do Matlab; DEMOS demonstração em HTML EXTERN suporte às linguagens FORTRAN, C e C++ HELP contém arquivos de auxílio e documentação do Matlab JAVA suporte à linguagem Java NOTEBOOK suporte à geração de documentação no formato MS-Word TEMP diretório temporário TOLLBOX “toolboxes” do Matlab WORK diretório de trabalho.

_______________________________________________________________________________

  • É a área na qual são exibidas todas as variáveis definidas na área de trabalho;
  • Essa janela possui quatro colunas indicando o nome, dimensão, número de bytes e a classe de cada variável;
  • As variáveis podem ser editadas e visualizadas nessa própria janela, basta dar um click-duplo para editá-las; Há um menu flutuante que é possível:
  • Open – abrir a janela;
  • Graph – criar gráficos a partir dos dados contidos na variável;
  • Select All – selecionar todas as variáveis;
  • Import Data – importar variáveis de um arquivo para o workspace;
  • Save Selection As – salvar as variáveis selecionadas em um arquivo;
  • Save Workspace As – salvar todas as variáveis do workspace em um arquivo;
  • Copy – copiar a variável para a área de transferência de dados do Windows;
  • Delete – apagar a variável do workspace;
  • Clear Workspace – apagar todas as variáveis do workspace;
  • Rename – renomear a variável.

2.3 Current Directory

Área onde é exibida uma lista dos arquivos contidos no diretório corrente.

Figura 3 – Janela “Current Directory”.

_______________________________________________________________________________

2.4 Command History

Área onde ficam armazenadas todas as instruções executadas no MATLAB.

Figura 4 – Janela “Command History”.

3. COMANDOS BÁSICOS E DECLARAÇÕES DE VARIÁVEIS

Para iniciar o nosso trabalho no MATLAB é necessário aprender alguns comandos essenciais da janela de trabalho (command window) e na seqüência vamos aplicá-los. Tabela 1 – Comando Básicos. who Mostra as variáveis do espaço de trabalho whos Mostra as variáveis do espaço de trabalho com detalhes clear Limpa a memória do espaço de trabalho clc Limpa a tela dir Mostra o conteúdo do diretório que se encontra cd Informa ou altera o diretório corrente what Exibe os arquivos Matlab contidos no diretório

4. OPERAÇÕES ARITMÉTICAS

As expressões podem ser construídas usando os operadores aritméticos usuais:

Tabela 2 – Operadores aritméticos.

+ Adição

  • Subtração

* Multiplicação

/ Divisão

^ Potenciação

_______________________________________________________________________________

mostra aproximadamente 4 dígitos decimais ou usam notação científica. Por exemplo, a matriz: x = [4/3 1.2345e-6] é mostrada , para cada formato usado, da seguinte maneira: x = 1.3333 0.

O formato-padrão pode ser alterado de duas maneiras: a partir da Janela de Menu Principal do Matlab ou pelo uso do comando “ format ”. O formato pode ser alterado pela seleção da opção “File>>Preferences>>Command Window”. Alternativamente, o usuário pode acionar o comando format para alterar as preferências. Este comando altera o formato-padrão de acordo com os valores dados na Tabela 3. O formato-padrão pode ser modificado para exibir mais dígitos significativos, para forçar a exibição em notação científica, exibir dados com dois dígitos decimais ou então eliminar linhas adicionais para que mais dados sejam visíveis por vez na Janela de comandos. Tabela 3 – Formatos de exibição de saída. Comando de Formatação Resultados Exemplo format short 4 dígitos decimais (formato-padrão) 12, format long 14 dígitos decimais 12, format short e 5 dígitos mais expoente 1,2346e+ format short g 5 dígitos no total, com ou sem expoente 12, format long e 15 dígitos mais expoente 1,234567890123457e+ format long g 15 dígitos no total, com ou sem expoente 12, format bank Formato monetário 12, format hex Exibição hexadecimal de bits 4028b0fcd32f707a format rat Razão aproximada entre inteiros pequenos 1000/

5.1 O Comando disp O comando disp exibe o conteúdo de uma variável, mas, ocultando o nome da mesma, e/ou mostra strings na forma de textos. A formageral do comando disp é: disp (nome de uma variável) ou dsisp (‘string de texto’)

Toda vez que um comando disp é executado, a saída que ele produz é mostrada numa nova linha. Por exemplo: % A variável A é inicializada com uma matriz 2x A=[5 9 1; 7 2 4] A = 5 9 1 7 2 4

_______________________________________________________________________________

% O comando disp é utilizado para exibir a matriz A disp(A) 5 9 1 7 2 4

% O comando disp é utilizado para mostrar uma mensagem disp('O problema não possui solução') O problema não possui solução

O código abaixo ensina como utilizar os comandos input e disp em uma rotina para calcular a soma entre 3 números. Ao final da soma o a rotina exibe um texto juntamente com o resultado da soma.

Figura 6 – M-File implementado, Janela Editor.

Figura 7 – Algoritmo executando na Janela de Comandos.

_______________________________________________________________________________

Figura 8 – Exemplos com operadores relacionais.

8. CÁLCULO MATRICIAL

As matrizes em Matlab podem ter uma ou mais dimensões. Matrizes unidimensionais podem ser visualizadas como uma série de valores colcoados em uma linha ou em uma coluna, como um único índice para selecionar os elementos individuais da matriz. O Matlab permite a criação de matrizes com tantas dimensões quanto necessário para um dado problema. Essas matrizes têm um índice para cada dimensão, e um elemento individual é selecionado pela especificação de um valor para cada índice.

8.1 Elementos de uma Matriz

Elementos de uma matriz podem ser qualquer expressão do MATLAB. Por exemplo: x=[-1.3 log(4.23^3) (1+2+3)/45] x = -1.3000 4.3266 7.*

Elementos individuais de uma matriz podem ser referenciados com seus respectivos índices entre parênteses. No exemplo anterior, para referenciar o segundo elemento do vetor x: x(2)

ans =

4.

_______________________________________________________________________________

Analogamente em uma matriz, com linha e coluna determinada tenho um elemento. Seja: x=[1 2 3;4 5 6;7 8 9]

x = 1 2 3 4 5 6 7 8 9

>>

%% extrair o elemento da linha 2 e coluna 3 x(2,3) ans =

6

Repare que a referência é sempre na forma matriz(linha,coluna).

8.2 Soma e Subtração

Os símbolos + e - denotam adição e subtração de matrizes. A operação é definida sempre que as matrizes tenham a mesma dimensão. Exemplo: A = [1 2; 3 4] A =

1 2 3 4

B=A'

B =

1 3 2 4

C=A+B C =

2 5 5 8

A adição e subtração também é definida quando um dos operandos for um escalar. Exemplo: D=C- D =

_______________________________________________________________________________

8.5 Divisão Direta de Matrizes Existem dois símbolos para divisão de matrizes no MATLAB "" e "/". Se A é uma matriz quadrada não singular, então A\B e A/B correspondem respectivamente a i nv(A)B* e Ainv(B)* , por exemplo: A=[1 2; 3 4]

A =

1 2 3 4

B=[5 6; 7 8] B =

5 6 7 8

A\B

ans = -3 - 4 5 A/B

ans =

3.0000 -2. 2.0000 -1.

%%divisão de elemento por elemento A./B

ans = 0.2000 0. 0.4286 0.

8.6 Potênciação

A expressão A^p eleva A à p -ésima potência e é definida se A é matriz quadrada e p um escalar. Se p é um inteiro maior do que um, a potenciação é computada como múltiplas multiplicações. Por exemplo: A A =

1 2 3 4

A^

_______________________________________________________________________________

ans =

37 54 81 118 %% potenciação de elementos por elementos A.^

ans =

1 8 27 64

8.7 Transposta de uma Matriz

O caracter ' (apóstrofe) denota transposta de uma matriz. Se z for complexo, z' é o transposto conjugado complexo de z. Exemplo: A = [1 2; 3 4] A =

1 2 3 4

%% realiza a transposta da matriz A A'

ans =

1 3 2 4

%% no caso de números complexos, z’ é o conjugado complexo de z z=2+5i

z = 2.0000 + 5.0000i

z'

ans = 2.0000 - 5.0000i

8.8 Determinante

Para calcularmos o determinante de uma matriz utilizamos o comando det(matriz). %% Entrando com a matriz A 5x A=[1 2 4 5 6;5 1 1 3 5;7 8 9 9 0;2 2 4 0 9;1 1 1 2 3]

A =

1 2 4 5 6 5 1 1 3 5

_______________________________________________________________________________

%% autovalores associados a matriz A D =

3.0000 0 0 -1.

8.11 Matriz escalonada reduzida

O comando rref(matriz) encontra a matriz escalonada reduzida através do processo de escalonamento de Gauss Jordan. A=[1 2 4 5 6;5 1 1 3 5;7 8 9 9 0;2 2 4 0 9;1 1 1 2 3]

A =

1 2 4 5 6 5 1 1 3 5 7 8 9 9 0 2 2 4 0 9 1 1 1 2 3

rref(A) ans =

1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

%% exemplo de um sistema possível e indeterminado 0*z=

A=[1 2 8; 2 4 16; 0 1 3] A =

1 2 8 2 4 16 0 1 3

rref(A)

ans =

1 0 2 0 1 3 0 0 0

8.12 Posto de uma Matriz Do exemplo anterior nota-se que a matriz em sua forma escalonda reduzida possui duas linhas não-nulas e infinitos valores para z. O número de linhas não-nulas pode ser encontrado através do comando rank(matriz) , ou seja, o comano “rank” encontra o

_______________________________________________________________________________

“posto” da matriz, que nada mais é do que a quantidade máxima de linhas linearmente independentes da matriz. A=[1 2 8; 2 4 16; 0 1 3]

A = 1 2 8 2 4 16 0 1 3

rank(A) ans =

2 rref(A)

ans =

1 0 2 0 1 3 0 0 0

8.13 Números e Matrizes Complexas

Números complexos são permitidos em todas operações e funções no MATLAB. Os números complexos são introduzidos usando-se as funções especiais i e j. Por exemplo z= 3 + 4i*

z = 3.0000 + 4.0000i

%% ou podemos escrever também z= 3 +4j*

z =

3.0000 + 4.0000i As seguintes declarações mostram dois caminhos convenientes para se introduzir matrizes complexas no MATLAB: A= [1 2; 3 4]+i[5 6;7 8] A =*

1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i

Que produz o mesmo resultado que: A= [1+5i 2+6i; 3+7i 4+8i]**