













































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
apostila de progamaçao aplicada MATLAB
Tipologia: Notas de estudo
1 / 53
Esta página não é visível na pré-visualização
Não perca as partes importantes!














































Programação Aplicada a Engenharia
1 Introdução
1.1 O que é o MATLAB?
MATLAB é um "software" interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional.
O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos problemas numéricos em apenas uma fração do tempo que se gastaria para escrever um programa semelhante em linguagem C ou Java. Além disso, as soluções dos problemas são expressas no MATLAB quase exatamente como elas são escritas matematicamente.
1.2 Carregando o MATLAB
No Gerenciador de Programas do Microsoft Windows deve-se abrir o grupo de programas do MATLAB for Windows, que contém o ícone do aplicativo MATLAB. Um duplo clique no ícone MATLAB carrega o aplicativo MATLAB.
Quando o MATLAB é carregado, 3 janelas são exibidas: a Janela de Comando (Command Windows), área de trabalho (Workspace) e Histórico (Command History). A Janela de Comando é ativada quando se inicializa o MATLAB, e o "prompt" padrão (>>) é exibido na tela.
Programação Aplicada a Engenharia
Como solucionaríamos este sistema no matlab?
Para isto devemos criar um arquivo texto com extensão *.m ( extensão do matlab).
Os comandos do MATLAB são normalmente digitados na Janela de Comando, onde uma única linha de comando é introduzida e processada imediatamente. O MATLAB é também capaz de executar seqüências de comandos armazenadas em arquivos.
Os arquivos que contêm as declarações do MATLAB são chamados arquivos ".m", e consistem de uma seqüência de comandos normais do MATLAB, possibilitando incluir outros arquivos ".m" escritos no formato texto (ASCII).
Para editar um arquivo texto na Janela de Comando do MATLAB selecione New M-File para criar um novo arquivo ou Open M-File para editar um arquivo já existente, a partir do menu File. Os arquivos podem, também, ser editados fora do MATLAB utilizando qualquer editor de texto.
Uma nova janela será criada. Nela digite os comandos abaixo:
%este programa calcula e imprime a distancia em linha reta, entre dois pontos.
p1x=1; %ponto 1 – eixo x p1y=5; %ponto 1 – eixo y p2x=4; %ponto 2 – eixo x p2y=7; %ponto 2 – eixo y d=sqrt((p2x-p1x)^2+(p2y-p1y)^2) % calcula a distância
Salve o arquivo com seu nome na pasta work e o execute na linha de comando
Ao executarmos teremos o resultado:
d=3.
Observaçôes: 1) o sinal de percentagem serve como comentário no matlab
2)Salve o arquivo com um nome sem acentos, espaços, e sinais alternativos.
Esta saída coincide com o valor que calculamos no exemplo manual. Se a solução MATLAB não coincidir com o exemplo manual, devemos rever ambas as soluções a fim de encontrar o erro.
Testem o programa de vocês agora com outros pontos:
P3=(4,-2) e P2=(10,2). A resposta deve ser de: 7.
Percebe-se que todas as vezes que precisamos mudar os valores dos pontos temos que abrir o arquivo salvo. Podemos fazer melhorias no programa com o objetivo de evitar a modificação do arquivo.
Façamos então:
Programação Aplicada a Engenharia
%este programa calcula e imprime a distancia em linha reta, entre dois pontos.
p1x=input('Entre com o valor de x do ponto 1:') p1y=input('Entre com o valor de y do ponto 1:') p2x=input('Entre com o valor de x do ponto 2:') p2y=input('Entre com o valor de y do ponto 2:') d=sqrt((p2x-p1x)^2+(p2y-p1y)^2) % calcula a distância
Obs.: Podemos incluir no fim deste programa os seguintes comandos também.
Distancia=['A distancia entre os pontos é:' num2str(d)]; disp(Distancia)
1.5 Outro exemplo
Para entrar com uma matriz pequena, por exemplo, usa-se.
A = [1 2 3; 4 5 6; 7 8 9]
colocando colchetes em volta dos dados e separando as linhas por ponto e vírgula. Quando se pressiona a tecla
Para inverter esta matriz usa-se
B = inv(A)
e o MATLAB responde com o resultado.
(colocar aqui o resultado obtido) O que achou do resultado?
B =
Programação Aplicada a Engenharia
2 - OPERAÇÕES E MANIPULAÇÃO DE MATRIZES e VETORES
O MATLAB permite a manipulação de linhas, colunas, elementos individuais e partes de matrizes.
2.1 Gerando Vetores
Os dois pontos, " : ", é um caractere importante no MATLAB. A declaração
x = 1 : 5
gera um vetor linha contendo os números de 1 a 5 com incremento unitário. Produzindo
x = [ 1 2 3 4 5 ]
Outros incrementos, diferentes de um, podem ser usados.
y = 0 : pi/4 : pi
que resulta em
y = [ 0. 000 0. 7854 1. 5708 2. 3562 3. 1416 ]
Incrementos negativos também são possíveis.
z = 6 : -l : l
z = [ 6 5 4 3 2 1 ]
Pode-se, também, gerar vetores usando a função linspace. Por exemplo,
k = linspace (0, l, 6)
k = [ 0 0. 2 0. 4 0. 6 0. 8 1 ]
gera um vetor linearmente espaçado de 0 a 1, contendo 6 elementos.
2.2 Elementos das Matrizes
Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre parênteses. Por exemplo, dada a matriz A:
Programação Aplicada a Engenharia
a declaração
A(3,3) = A(1,3) + A(3,l)
resulta em
As operações com matrizes no MATLAB são as seguintes:
A seguir cada uma dessas operações é mostrada com mais detalhe.
2.3 Transposta
O caractere apóstrofo, " ' " , indica a transposta de uma matriz. A declaração
A = [1 2 3; 4 5 6; 7 8 0] B = A'
que resulta em
e
x = [-1 0 2]'
Produz
x
Programação Aplicada a Engenharia
A adição e subtração também são definidas se um dos operadores é um escalar, ou seja, uma matriz l x l. Neste caso, o escalar é adicionado ou subtraído de todos os elementos do outro operador. Por exemplo:
y = x - 1
resulta em:
y
2.6 Multiplicação
A multiplicação de matrizes é indicada por "". A multiplicação xy é definida somente se a segunda dimensão de x for igual à primeira dimensão de y. A multiplicação
x'* y
é aceitável, e resulta em
Ans = 4
É evidente que o resultado da multiplicação y'x* será o mesmo. Existem dois outros produtos que são transpostos um do outro.
x*y'
Ans
y*x'
Ans
2.7 Divisão
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 B/A correspondem respectivamente à multiplicação à esquerda e à direita da matriz B pela inversa da matriz A , ou inv(A)B* e Binv(A),* mas o resultado é obtido diretamente. Em geral,
X = A\B é a solução de A*X = B
Programação Aplicada a Engenharia
X = B/A é a solução de X*A = B
Por exemplo, como o vetor B foi definido como Ax,* a declaração
z = A\B
resulta em
z
Agora vamos aplicar este conhecimento na resolução de um sistema de equações baseado no circuito abaixo.
22Ω 15Ω
12Ω
10Ω
20V 10V
15V
R R
R
E
R
E E
2.8 Exponenciaçã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 exponenciação é computada como múltiplas multiplicações. Por exemplo,
A^
Ans
O termo operações com conjuntos é usado quando as operações aritméticas são realizadas entre os elementos que ocupam as mesmas posições em cada matriz (elemento por elemento). As operações
Programação Aplicada a Engenharia
A exponenciação pode usar um escalar.
z = x.^
z = [ 1 4 9 ]
Ou, a base pode ser um escalar.
z = 2.^[x y]
Z= [^248163264 ]
2.12 Operações Comparativas
Estes são os seis operadores usados para comparação de duas matrizes com as mesmas dimensões:
< menor
<= menor ou igual
maior
= maior ou igual
== igual
~= diferente
A comparação é feita entre os pares de elementos correspondentes e o resultado é uma matriz composta dos números um e zero, com um representando VERDADEIRO e zero, FALSO. Por exemplo ,
2 + 2 ~= 4
ans = 0
Pode-se usar, também os operadores lógicos & (e) e I (ou). Por exemplo,
1= = 1 & 4 = = 3
ans = 0
1 = = 1 | 4 = = 3
ans =
Programação Aplicada a Engenharia
1
Exemplo de circuito lógico: Desenhe os blocos que representem a equação abaixo e mostre matricialmente o resultado.
(A|B)&(C&D) &(~E)
2.13 Funções Matemáticas e Lógicas
As funções lógicas e relacionais do MATLAB são:
any - condições lógicas all - condições lógicas find - encontra os índices da matriz de valores lógicos exist - verifica a existência de variáveis isnan - detecta se algum elemento da matriz é NaN isinf - detecta se algum elemento da matriz é infinito finite - verifica os valores finitos da matriz isempty - detecta matrizes vazias isstr - detecta variáveis string isglobal - detecta variáveis globais issparse - detecta matrizes esparsas
As funções trigonométricas incluídas no MATLAB são
sin - seno cos - cosseno tan - tangente asin - arco-seno acos - arco-cosseno atan - arco-tangente
atan2 - arco-tangente para os quatro quadrantes sinh - seno hiperbólico cosh - cosseno hiperbólico tanh - tangente hiperbólica asinh - arco-seno hiperbólico acosh - arco-cosseno hiperbólico atanh - arco-tangente hiperbólico
MATLAB inclui como funções elementares
Abs(x) - valor absoluto ou módulo de um número complexo angle(x) - ângulo de fase sqrt(x) - raiz quadrada real(x) - parte real imag(x) - parte imaginária conj(x) - complexo conjugado round(x) - arredondamento para o inteiro mais próximo fix(x) - arredondamento para o inteiro mais próximo de zero floor(x) - arredondamento para o inteiro mais próximo de -
Programação Aplicada a Engenharia
-1 -0.5 0 0.5 1 1.5 2
0
20
40
60
80
100
Exercício: Crie uma função que calcule a área e o volume de um paralelepípedo
3.1 Integração Numérica
A área abaixo da curva pode ser determinada através da integração numérica da função humps(x) , usando o processo chamado quadratura. Integrando a função humps(x) de -1 a 2:
q = quad ('humps',-1,2)
q = 26.
Os dois comandos do MATLAB para integração usando quadratura são:
quad Calcular integral numericamente, método para baixa ordem.
quadl Calcular integral numericamente, método para alta ordem.
3.2 Equações Não-Lineares e Otimização
Os dois comandos para equações não-lineares e otimização incluem:
Programação Aplicada a Engenharia
fminbnd Minimizar função de uma variável.
fmins Minimizar função de várias variáveis
fzero Encontrar zero de função de uma variável.
Continuando o exemplo, a localização do mínimo da função humps(x) no intervalo de 0.5 a 1 é obtida da seguinte maneira,
xm = fminbnd('humps',0.5,1)
xm = 0.
ym = humps(xm)
ym = 11.
E o gráfico deste intervalo com o ponto de mínimo pode ser construído:
x = 0.5:0.01: plot(x, humps(x), xm, ym, 'o')
Pode-se ver que a função humps(x) apresenta dois "zeros" no intervalo de -1 a 2. A localização do primeiro "zero" é próxima do ponto x = 0,
xzl = fzero('humps',0)
xzl =
Programação Aplicada a Engenharia
x 1 = x 1. (1-x 22 ) - x 2 x 2 = x1’
O primeiro passo para simular esse sistema é criar um arquivo ".m" contendo essas equações diferenciais. Por exemplo, o arquivo vdp1.m :
function dydt = vdp1(t,y) %VDP1 Evaluate the van der Pol ODEs for mu = 1 % Jacek Kierzenka and Lawrence F. Shampine % Copyright 1984-2002 The MathWorks, Inc. % $Revision: 1.5 $ $Date: 2002/04/15 03:30: $
dydt = [y(2); (1-y(1)^2)*y(2)-y(1)];
Para simular a equação diferencial no intervalo entre 0 e 20, utiliza-se o comando ode
[t,y]=ode23(@vdp1,[0 20],[2 0]); plot(t,y(:,1)); hold on plot(t,y(:,2));
3.4 Cálculo Diferencial e Integral
Antes de qualquer operação, onde se tem x, y, z ou qualquer outra como variável, é preciso definir sua variável, para isso usa-se o comando:
Programação Aplicada a Engenharia
syms x ,
dessa forma estará indicando que qualquer x que for colocado em funções é uma variável e não um número.
3.4.1 Limites
Para efetuar uma operação com limites no MATLAB, o comando que se deve dar é:
limit(f(x),x,a)
onde f(x) é a função que se quer achar o limite, x é a variável e a é o número no qual o x está tendendo ( x → a ).
Exemplo: Achar o limite abaixo:
resposta: -5/
3.4.2 Limites à esquerda e à direita
Para calcular limites à esquerda e à direita, o comando é:
limit(f(x),x,a,’left’) e limit(f(x),x,a,’right’)
onde ‘left’ e ‘right’ são os comandos para calcular à esquerda e à direita, respectivamente.
resultado: inf e –inf
3.4.3 Derivadas
Para o cálculo de derivadas, o comando no MATLAB é:
diff(f(x)),
onde f(x) é a função que se quer determinar a derivada.