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


Matlab Mecatronica conceitos basicos , Notas de estudo de Mecatrônica

apostila de progamaçao aplicada MATLAB

Tipologia: Notas de estudo

2011

Compartilhado em 01/10/2011

luis-paulo-vasconcelos-de-castro-1
luis-paulo-vasconcelos-de-castro-1 🇧🇷

1 documento

1 / 53

Toggle sidebar

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

Não perca as partes importantes!

bg1
- 1 -
Programação Aplicada à
Engenharia
Curso Superior de Engenharia Mecatrônica
Ano 2011 - Versão 1.3
Versão do Aluno
Professor: Luís Oscar de Araújo Porto Henriques
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

Pré-visualização parcial do texto

Baixe Matlab Mecatronica conceitos basicos e outras Notas de estudo em PDF para Mecatrônica, somente na Docsity!

Programação Aplicada à

Engenharia

Curso Superior de Engenharia Mecatrônica

Ano 2011 - Versão 1.

Versão do Aluno

Professor: Luís Oscar de Araújo Porto Henriques

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 o MATLAB responde com

A

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:

A

Programação Aplicada a Engenharia

a declaração

A(3,3) = A(1,3) + A(3,l)

resulta em

A

As operações com matrizes no MATLAB são as seguintes:

  • · Adição;
  • · Subtração
  • · Multiplicação;
  • · Transposta;

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

A

B

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

OPERAÇÕES COM CONJUNTOS

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.