Vous êtes sur la page 1sur 93

Noes de Matlab

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

ndice
Capitulo 01
Introduo..............................................................................................
................ 04
Ambiente................................................................................................
................ 04
Ambiente de
Ajuda.................................................................................................
07
Operaes
Bsicas..................................................................................................
10

Capitulo 02
Exponenciais..........................................................................................
................. 13
Logaritmos.............................................................................................
................. 14

Capitulo 03
Funes
trigonomtricas......................................................................................
..
17
Lei dos
senos......................................................................................................
..... 18
Teorema dos cosenos............................................................................................ 18

Capitulo 04
Matrizes..................................................................................................
................ 22
Adio....................................................................................................
................. 23
Subtrao...............................................................................................
................. 24
Multiplicao de um escalar por uma
matriz.........................................................
24
Produto entre
matrizes...........................................................................................
25
Profa. Dora

Pgina 2

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Matriz
Transposta..............................................................................................
..... 26
Matrizes
Especiais................................................................................................
..
27
Matriz
Inversa...................................................................................................
..... 28
Sistemas
Lineares..................................................................................................
.
29
Determinantes.......................................................................................
................. 30

Capitulo 05
Polinmios..............................................................................................
................ 33
Operaes
polinomiais...........................................................................................
34
Adio....................................................................................................
................. 34
Multiplicao..........................................................................................
................ 34
Diviso...................................................................................................
................. 35
Derivada.................................................................................................
................ 35

Capitulo 06
Grficos..................................................................................................
................ 36
Operaes elemento por
elemento.......................................................................
37
Cor, Estilo,
Marcador.............................................................................................
38
Comandos
iniciais..................................................................................................
39
Profa. Dora

Pgina 3

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Legenda.................................................................................................
................ 40
Fixar
grficos..................................................................................................
....... 41
Subgrficos..................................................................................................
.........42
Recursos.................................................................................................
................ 44

Capitulo 07
Arquivo
m............................................................................................................
..
47
Script comandos
iniciais........................................................................................ 49

Capitulo 08
Estrutura Condicional
If......................................................................................
52
If...then...................................................................................................
............... 52
If...then...else..........................................................................................
............... 53
Operadores
relacionais.........................................................................................
54
Operadores
lgicos...............................................................................................
55
Condicional
encadeada.........................................................................................
57

Capitulo 09
Estrutura de repetio
For...end........................................................................
Converso nmero para
string.......................................................................... 66
Converso string para
nmero..........................................................................
Profa. Dora

Pgina 4

61

66

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Capitulo 10
Estrutura de repetio
while...end....................................................................

68

Capitulo 11
Formatos
numricos.............................................................................................
75
Variveis
permanentes.........................................................................................
78
Funes matemticas
comuns.............................................................................. 78

Capitulo 12
Limite.....................................................................................................
............... 79
Derivada.................................................................................................
............... 79
Integral...................................................................................................
............... 82

Captulo 01
Introduo
O Matlab (abreviatura de MATrix LABoratory - Laboratrio de Matrizes)
um software de simulao matemtica que realiza operaes
matriciais, constri grficos em duas ou trs dimenses, auxilia no
processamento de sinais, alm de manipular outras funes
especializadas.
Ele trabalha com uma linguagem de programao de alto-nvel, em
um ambiente interativo, para o desenvolvimento de algoritmos,
anlise e visualizao de dados e computao numrica. Prprio para
as reas tcnicas e cientficas, o software tem funes de tratamento
numrico de alto desempenho, capazes de resolver problemas
computacionais tcnicos de forma mais eficiente do que as
tradicionais linguagens de programao.
Profa. Dora

Pgina 5

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Alm do ambiente interativo, outra facilidade do Matlab a
possibilidade de execuo de arquivos texto contendo uma seqncia
de instrues definidas pelo usurio. Esses arquivos texto, que tm
extenso '.m', podem ser criados e editados dentro ou fora do seu
ambiente.

Ambiente
Inicializando o software, tem-se acesso o seguinte ambiente, como
mostra a figura a seguir:

Compreendendo as divises do ambiente numa fase inicial tem-se:

Na parte superior da tela encontra-se o menu suspenso, bem como o


chamado SpeedBar, isto , os cones de acesso rpido, alm do
Current Directory que o caminho onde o desenvolvimento feito em
Matlab ser gravado ou at mesmo lido algo que j se encontre
disponvel.

Profa. Dora

Pgina 6

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

A coluna que se apresenta do lado esquerdo exibe os eventuais


arquivos que estariam disponveis para futuros acessos, especificando
o nome do arquivo e sua data de gravao.

Do lado direito existe uma rea denominada Workspace que


caracteriza a memria de armazenamento, isto , as variveis (name)
e seus respectivos valores(value).

Profa. Dora

Pgina 7

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Embaixo tem-se o Command History que registrar o histrico dos


comandos executados.

A janela Command Window a janela de interao, assim sendo, a


mais importante nesse instante. Cabe agora a seguinte pergunta:
Quando sei que est pronto para uso?
Assim

que

prompt

fique

disponvel, isto ,

Todo comando deve ser finalizado teclando-se Enter.


Para encerrar uma sesso de trabalho do MATLAB digita-se o
comando exit (ou quit) no prompt do programa.
IMPORTANTE: O Matlab um software sensitive case, isto , faz
diferena entre letras MAIUSCULAS e MINUSCULAS. Assim sendo, seus
comandos devem ser digitados sempre em letras MINSCULAS.
Profa. Dora

Pgina 8

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Ambiente de Ajuda
Comando help

Apresenta uma listagem de todos os pacotes disponveis.


Para se ter ajuda sobre um pacote especfico ou sobre um comando
ou funo especfica, deve-se combinar o comando help e o nome do
pacote, comando ou funo de interesse.
Por exemplo: >> help elfun
Comando helpwin

Abre-se uma nova janela textual de ajuda.

Profa. Dora

Pgina 9

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Combinando-se o double-click sobre um dos itens obtm-se os


vrios nveis de ajuda de um pacote especfico e de um comando ou
funo de interesse.
O nome de uma funo pode ser introduzido no campo superior
esquerdo para se ter diretamente uma ajuda deste comando.
No pull-down menu direita deste campo encontram-se os tpicos
relacionados com a funo que est sendo explicada no momento.

Comando helpdesk

Dispara-se um programa de navegao instalado no seu computador


(Netscape, Internet Explorer, etc) com um ambiente de ajuda mais
completo que utiliza a linguagem de hipertexto.
Profa. Dora

Pgina 10

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Neste ambiente de ajuda possvel obter uma listagem das funes:


Por bloco de especificidade (MATLAB/Functions/by Subject ) ou
Por ordem alfabtica (MATLAB/Functions/by Index).
A ajuda especfica de um determinado comando pode ser feito
diretamente no campo abaixo de Go to MATLAB function. Alm disto,
esto disponveis vrios documentos explicativos (Online Manuals).

Operaes Bsicas
A primeira forma de se utilizar o MATLAB como uma calculadora
cientfica atravs da digitao de comandos diretamente no seu
prompt. Assim sendo, vamos discutir inicialmente a notao das
operaes bsicas, a saber:
Notao
Matemtica

Notao

Prioridade

MATLAB

Natural

. ou x

ou /

x^y

Vamos propor inicialmente a seguinte clculo: -1+5, executando no


MatLab, temos:

Profa. Dora

Pgina 11

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
answer = resposta

Para melhorar esse tipo de notao poderamos executar o mesmo


clculo da seguinte forma:

Nmeros decimais so representados por ponto, isto , =0.5,


ento efetue:
0.5 + 3.2 1.3

Profa. Dora

Pgina 12

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Com base nesses


expresses:

conceitos execute no Matlab as seguintes

Bom trabalho...

Profa. Dora

Pgina 13

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 02
Exponenciais
exp(x)

Exemplos Efetuem os clculos

Profa. Dora

Pgina 14

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Logaritmos
log(x)

Exemplos:

Considere x=2, y=3 e z =5, com essas informaes calculem os


prximos exerccios:

Profa. Dora

Pgina 15

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

>> x=2;y=3;z=5;
>> a=log2(x+y);
>> b=log10(x+z);
>> c=log(z^2);
>> resultado=(3*a-2*b+4*c)/5
resultado =
3.6302

3. log 2x y 2. log x z 4 ln z 2
5

Com base nesses


expresses:

Profa. Dora

conceitos execute no Matlab as seguintes

Pgina 16

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Profa. Dora

Pgina 17

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 03
Funes Trigonomtricas

A
princpio
um
conceito

fundamental, quando se trata valor trigonomtrico no computador, s


admitido valor em radianos, assim sendo, se deve recordar a
mudana de unidades de graus para radianos, isto :

Notao
Matemtica

Profa. Dora

Notao
MATLAB

sen(x)

sin(x)

cos(x)

cos(x)

Pgina 18

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
sen( x)
cos( x )
1
cos sec( x)
sen ( x)
1
sec( x)
cos( x)
1
cos( x)
cot g ( x)

tg ( x) sen( x)
tg ( x)

tan(x)

1/sin(x)
1/cos(x)
1/tan(x)
arccos(x)

acos(x)

arcsen(x)

asin(x)

arctg(x)

atan(x)

Resolver um tringulo conhecendo um lado a e os dois ngulos


adjacentes a ele (B e C), ento:

A 180 B C
a.sen ( B )
b
sen ( A )
c

a sen (C )
sen( A )

Aplicando numericamente tem-se:

Profa. Dora

Pgina 19

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Resolver um tringulo conhecendo dois lados (b e c) e o ngulo que


eles formam (A).
a b 2 c 2 2bc cos( A)
b 2 a 2 c 2 2ac cos( B ) cos( B )

a 2 c 2 b2
a 2 c2 b2

B arccos
2ac
2ac

c 2 a 2 b 2 2ab cos(C ) cos(C )

a 2 b2 c 2
a 2 b2 c 2

C arccos
2ab
2ab

Aplicando numericamente tem-se:

Profa. Dora

Pgina 20

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Vejamos agora como traar os primeiros grficos no MatLab,


utilizando as funes trigonomtricas em uma volta completa na
circunferncia trigonomtrica, no sentido anti-horrio, isto , [0,2].
Para fazermos um grfico no computador
precisamos definir um passo bem pequeno de tal
sorte que o computador seja capaz de traar o
grfico com preciso.
Nesse caso temos a varivel x variando de 0 at
6.2838, ento para atender as necessidades
computacionais podemos entender que se o
passo fosse 1, teramos apenas os valores: 0 1
2 3 4 5 6.
Ento fixaremos o passo como sendo 0.1, ento teremos:
0 0.1 0.2 0.3 -.... 6.0 6.1 6.2
Assim teremos uma gama muito maior de pontos para obter a
preciso do desenho da funo.

Como definir o passo?

Cabe destacar que:


0 (zero) define o valor inicial de x

>> x=0:0.1:6.28;

1.1 define o passo de variao do


x
6.28 define o valor final de x

Profa. Dora

Pgina 21

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Qual o comando capaz de traar grfico no Matlab
plot(x,y)

Com base nesses conceitos tracemos o grfico y=sen(x)


Ento no command window digita-se:
>> x=0:0.1:6.28;
>> y=sin(x);
>> plot(x,y)
Tem-se ento o seguinte resultado:
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

Com base nesses conceitos execute no MatLab os seguintes


exerccios:
a 2 3 , b 2, c 4
1.

Calcule
os
valores
das
funes
trigonomtricas para os ngulos notveis, isto , 30, 45 e 60

2. Sabendo que
sabendo que
Profa. Dora

calcule o valor de S,

Pgina 22

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
S = arccos(a/c) arcsen(b/c)
3. Nos conceitos trigonomtricos uma relao tida como
fundamental, isto , sen(x)+cos(x) = 1, ento calcule: cos(x),
tg(x), cotg(x), sec(x) e cossec(x), sabendo que sen(x)=4/5 e que
x pertence ao II quadrante.
4. Dado o
medidas,

triangulo

com

suas

calcule os valores sinalizados em


vermelho.
5. Trace o grfico da funo:
y=cos(x), com 0x2

Profa. Dora

Pgina 23

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 04
Matrizes
Para criar uma varivel onde armazenada uma matriz, basta
escrever os elementos da matriz entre colchetes [ ... ], sendo os
elementos de uma mesma linha da matriz separados por vrgula (ou
espao em branco) e as linhas separadas por ponto e vrgula. Por
exemplo, para armazenar a matriz
1 2 3

4 5 6

Acessar os elementos de uma matriz usando os


comandos

O elemento que est na 2 linha e 3coluna


>> A(2,3)
ans =
6

A 2 linha da matriz
>> A(2,:)
ans =
4
5
6

A 1 coluna da matriz
>> A(:,1)
ans =
1
4

Profa. Dora

Pgina 24

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Exibir a sub-matriz formada pela 1 e 2 colunas da matriz A.


>> A(:,1:2)
ans =
1
2
4
5

Utilizando a matriz A, gere uma matriz B colocando mais uma


coluna com os nmeros 7 e 8 respectivamente:
>> B=[A,[7;8]]
B=
1
2
3
7
4
5
6
8

Utilizando a matriz A, gere uma matriz C colocando mais uma


linha com os nmeros 7, 8 e 9 respectivamente:
>> C=[A;[7 8 9]]
C=
1
2
3
4
5
6
7
8
9

Adio de matrizes
Dadas duas matrizes A=(aij)mxn e B=(bij)mxn chama-se adio A+B a
matriz C=(cij)mxn tal que cij=aij+bij para todo i e todo j. Isto significa que
a adio de duas matrizes A e B do tipo mxn uma matriz C do
mesmo tipo em que cada elemento a soma dos elementos
correspondentes em A e B.
2
1 7

5 1 2
A B ?
A

3 21 6

15 3 6

Exemplo: Dadas as matrizes A

e B, calcule a adio de A por B

Ento no Command Window, digita-se:


>> A=[1 7 2; 5 -1 -2];
>> B=[3 21 6; 15 -3 -6];
>> ADICAO = A+B
Profa. Dora

Pgina 25

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

ADICAO =
4

28

20

-4

-8

Subtrao de matrizes
Dadas duas matrizes A=(aij)mxn e B=(bij)mxn chama-se subtrao A+B a
matriz C=(cij)mxn tal que cij=aij-bij para todo i e todo j. Isto significa que
a adio de duas matrizes A e B do tipo mxn uma matriz C do
mesmo tipo em que cada elemento a soma dos elementos
correspondentes em A e B.

2
1 7

5 1 2
A B ?
A

3 21 6

15 3 6

Exemplo: Dadas as matrizes A

e B, calcule a adio de A por B

Ento no Command Window, digita-se:


>> A=[1 7 2; 5 -1 -2];
>> B=[3 21 6; 15 -3 -6];
>> SUBTRACAO = A-B
SUBTRACAO =
-2 -14
-10

-4
4

Multiplicao de um escalar por uma matriz

Profa. Dora

Pgina 26

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Dado um nmero k e uma matriz A=(aij)mxn chama-se
produto k.A a matriz B=(bij)mxn tal que bij =k.aij para todo i e todo j. Isto
significa que multiplicar uma matriz A por um nmero k construir
uma matriz B formada pelos elementos de A todos multiplicados por
k.

k 3

2
1 7

5 1 2

Exemplo: Dadas a matriz A e o nmero k =

3, calcule k.A

Ento se digita no Command Window:


>> A=[1 7 2; 5 -1 -2];
>> k=3;
>> RESULTADO = k*A
RESULTADO =
3

21

15

-3

-6

Produto entre Matrizes


n

cik ai1 b1k ai 2 b2 k ai 3 b3k ... ain bnk aij b jk


j 1

A=(aij)mxn e B=(bjk)nxp

Dadas
duas
matrizes
chama-se produto A.B a matriz C=(cik)mxp

tal que:
para todo i {1,2,,m} e todo k {1,2,..,p}
1 2 3
A

4 5 6

7
B 8
9

Exemplo: Dadas as matrizes A e B, calcule

A.B
Profa. Dora

Pgina 27

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Ento se digita no Command Window:


>> A=[1 2 3; 4 5 6];
>> B=[7;8;9];
>> PRODUTO = A*B
PRODUTO =
50
122

Matriz Transposta

At a 'ji

nxm

A aij mxn

a 'ji aij
Dada uma matriz
matriz
tal que

chama-se transposta de A, a

para todo i e todo j. Isto significa que, as colunas de A t so


ordenadamente iguais s linhas de A.
Notao da matriz transposta At no MATLAB : A.

Exemplos: Dadas as matrizes A e B, calcule At e Bt.


1 4
At ?

7 2

Ento se digita no Command Window:


>> A=[1 4;7 2];
>> TRANSPOSTA = A.'
TRANSPOSTA =
Profa. Dora

Pgina 28

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
1

1 2 5
Bt ?

1 7 2

Ento se digita no Command Window:


>> B=[1 2 5; -1 7 2];
>> TRANSPOSTA = B.'
TRANSPOSTA =
1

-1

Matrizes Especiais
eye(m,n) - gera matriz com m-linhas e n-colunas com valor unitrio
nos elementos de ndices iguais e zero para os demais elementos. Por
exemplo:
>> A=eye(2,3)
A=
1

>> I=eye(3,3)
I=
1

Profa. Dora

Matematicamente
conhecida
como Matriz Identidade (I3)
toda matriz quadrada aonde na
diagonal
principal
os
elementos so sempre 1 e o
resto igual a zero.

Pgina 29

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
zeros(m,n) - gera matriz nula com m-linhas e n-colunas.
>> A=zeros(2,3)
A=
0

>> B=zeros(2,2)
B=
0
1

0
0

>> C=zeros(1,4)
C=
0
0
0
0

Matriz Inversa
Seja A uma matriz quadrada de ordem n. Dizemos que A matriz
inversvel se existir uma matriz B=A-1 tal que A.B=B.A=In. Se A no
inversvel, dizemos que A uma matriz singular.
Notao da matriz inversa A-1 no MATLAB : inv(A)
Exemplos: Dadas as matrizes A e B, calcule A-1 e B-1.
5 6
A1 ?

4 5

>> A=[5 6;4 5];


>> INVERSA = inv(A)
INVERSA =
5.0000 -6.0000
-4.0000 5.0000

Profa. Dora

Pgina 30

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
1 0 1
B 1 2 3 B 1 ?
1 2 4

>> B=[1 0 1; 1 2 3; 1 2 4];


>> INVERSA = inv(B)
INVERSA =
1.0000 1.0000 -1.0000
-0.5000 1.5000 -1.0000
0 -1.0000 1.0000

Profa. Dora

Pgina 31

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Sistemas Lineares
um conjunto de m (m1) equaes lineares, nas incgnitas
x1,x2,x3,...,xn. Assim o sistema S linear:
a11 x1 a12 x2 a13 x3 a1n xn b1
a x a x a x a x b

21 1
22 2
23 3
2n n
2
S

am1 x1 am 2 x2 am3 x3 amn xn bm

Lembrando a definio de produto de matrizes, notemos que o


sistema linear S pode ser escrito na forma matricial.
x1 b1
a11 a12 a13 a1n
a
x2 b2
21 a22 a23 a2 n x b


3 3


am1 am 2 am3 amn x b
n m
A X B
A1 A X A1 B
I . X A1 B
X A1 B

Notao no MatLab para esse tipo de situao:


X=inv(A)*B ou simplesmente X = A\B
Resolva o seguinte sistema linear:
x yz 6
1 1 1 x 6
1 1 1

x y z 4 1 1 1 y 4 A 1 1 1
2x y z 1 2 1 1 z 1
2 1 1

Profa. Dora

Pgina 32

x
X y
z

6
B 4
1

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Ento:
>> A=[1 1 1; 1 -1 -1; 2 -1 1];
>> B=[6; -4; 1];
>> X=inv(A)*B
X=
1
3
2

Determinantes
Consideremos o conjunto das matrizes quadradas de elementos reais.
Seja M uma matriz de ordem n desse conjunto. Chamamos
determinante da matriz M (det M) o nmero que podemos obter
operando com os elementos de M
Notao do determinante da matriz M no MATLAB : det(M)
Exemplos: Dadas as matrizes A e B, calcule det A e det B.
5 6
det A ?
4 5

>> A=[5 6; 4 5];


>> DETERMINANTE = det(A)
DETERMINANTE =
1
1 0 1
B 1 2 3 det B ?
1 2 4

>> B=[1 0 1; 1 2 3; 1 2 4];


>> DETERMINANTE = det(B)
DETERMINANTE =
2
Profa. Dora

Pgina 33

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Profa. Dora

Pgina 34

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Com base nos conceitos desenvolvidos faa os exerccios a seguir:


1. Dadas as matrizes
1 5 7
2 4 6
0 1 5
A
, B
e C

7
3 9 11
8 10 12
1 4

Calcule:
2
A 3
4

A+B+C, A-B+C, A-B-C e A+B-C


1
1 2
2
e
B 3 3
2 1
0

2. Sendo

Calcule 2A-B

3. Calcule o produto das matrizes:


1 1

1 1 5 0 2 1
2 3 7 1 3 1

1 1

1 1
2 2 1 2 3

4 5 1

3 4

1 2 5
X

1 7 2
4. Dada a matriz

Calcule a sua transposta.

1 1 1
Y

2 3 4
5. Se

Profa. Dora

calcule Z = .Yt

Pgina 35

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
2 5
A

1 3

1 9 5
B 3 1 2
6 4 4

6.

Dadas as matrizes a seguir,

calcule suas inversas:

2 2 1 2
1 7
5 5 3 5 X 2 7

7. Determine a matriz X, tal que:

8.

5 x 2 y 3z 2

3 x y 4 z 1
4x 3y z 3

Resolva os seguintes sistemas lineares:

3 x 5 y 2 z 26

x 7 y z 16
5 x y 3 z 14

9. Calcule o valor de:


1 1 9
det A 1 8 7
1 5 3

1 2 3 4
6 7 8 9
det C 11 12 13 14
16 17 18 19
21 22 23 24

Profa. Dora

5
10
15
20
25

1
0
1
1

2
1
3
4

4
0
0
2

5
3 2 4
0
5 7 2
1 det B
2 4 5
1
2 3 0

Pgina 36

3
4
3
7

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Profa. Dora

Pgina 37

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 05
Polinmios
Algumas vezes precisamos calcular as razes de um polinmio. Isto
pode ser feito no MATLAB atravs do comando roots. Veja o seguinte
exemplo:
Calcule os zeros do seguinte polinmio: p(x) = x2 + 5x + 6. Ento:
>> p=[1 5 6];
>> raizes=roots(p)
raizes =
-3.0000
-2.0000

Em algumas situaes temos as razes e precisamos obter o


polinmio, para tanto, utliza-se o comando poly. Veja o exemplo:
Sabendo que o polinmio tem duas razes, a saber, -3 e -2 quais so
os seus coeficientes? Ento:
>> raizes=[-3 -2];
>> coeficientes=poly(raizes)
coeficientes =
1

Como so duas razes distintas, temos: p(x)=x2+5x+6


Para obter o valor do polinmio num determinado ponto tem-se o
comando polyval. Veja o exemplo: Sabendo que p(x) = x2 + 5x + 6,
calcule o valor no ponto x=7. Ento:
>> p=[1 5 6];
>> polyval(p,7)
ans =
90

Profa. Dora

Pgina 38

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Operaes polinomiais
Para entender as operaes que se seguem utilizaremos o seguinte
exemplo:
Sejam os polinmios p(x) = x4 3x2 +5x 30 e w(x) = 2x4 7x3 +2x
15. Calcule:

Adio
Se a dimenso de p igual dimenso de w, a adio ser dada por:
c=p+w
Se a dimenso de p for diferente da dimenso de w, devemos:

Preencher com zeros os coeficientes das potncias que faltam


em um polinmio para este igualarem em dimenso com outro
A adio ser dada por: c = p + w

>> p=[1 0 -3 5 -30];


>> w=[2 -7 0 2 -15];
>> Adicao=p+w
Adicao =
3 -7 -3
7 -45
Portanto p(x)+w(x)=3x4-7x3-3x2+7x-45

Multiplicao
Para multiplicar um polinmio pelo outro, utiliza-se o comando
conv(p,w) entendendo que ser feita a multiplicao do polinmio p
pelo polinmio w. Ento:
>> p=[1 0 -3 5 -30];
>> w=[2 -7 0 2 -15];
>> multiplicacao = conv(p,w)
multiplicacao =
2 -7 -6 33 -110 204

55 -135 450

Portanto p(x).w(x) = 2x8-7x7-6x6+33x5-110x4+204x3+55x2-135x+450

Profa. Dora

Pgina 39

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Diviso
Para efetuar
procedimento

diviso

entre

polinmios,

tem-se

seguinte

[q,r] = deconv (p,w)


Cuja resposta consta de duas variveis:
q: o quociente da diviso de p por w.
r: o resto da diviso de p por w.

Ento:
>> p=[1 0 -3 5 -30];
>> w=[2 -7 0 2 -15];
>> [q,r]=deconv(p,w)
q=
0.5000
r=
0 3.5000 -3.0000

4.0000 -22.5000

Derivada
Para determina a derivada de um polinmio, utiliza-se o comando polyder
(p) onde sero exibidos os coeficientes do polinmio que representam a
derivada. Ento:

>> p=[1 0 -3 5 -30];


>> derivada = polyder(p)
derivada =
4
0 -6
5
Portanto o polinmio p(x) = x4 3x2 +5x 30 tem como derivada p
(x)=4x3-6x+5

Captulo 06
Profa. Dora

Pgina 40

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Grficos
Para traar um grfico, deve-se fundamentar na notao das funes,
isto , toda funo uma relao binria de A em B, portanto, toda
funo um conjunto de pares ordenados.
Geralmente, existe uma sentena aberta y=f(x) que expressa a lei
mediante a qual, dado xA, determina-se yB tal que (x,y)f, ento:
f = { (x,y) | x A, y B e y = f(x) }
Isto significa que, dados os conjuntos A e B, a funo f tem a lei de
correspondncia y = f(x).
Assim sendo, apoiado nesse conceito, entendemos que devemos
variar a abscissa (x), para determinarmos a ordenada (y) e desta
forma traar o grfico.
Por exemplo: Tracemos o grfico y = x
Matematicamente tem-se

Para implementar o exemplo no Matlab a abscissa deve variar de -5


at 5, ento:
>>x=-5:5;
Porm para calcular y devemos elevar x ao quadrado, ento:
>>y=x^2;
??? Error using ==> mpower
Matrix must be square.
Isso nos obriga a entender um novo conceito, isto :

Operaes elemento por elemento

Profa. Dora

Pgina 41

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Ao contrrio das operaes tradicionais como multiplicao de matriz, so
operaes entre elementos. Para tanto, dispomos de uma notao especial, como
mostra o quadro a seguir:

Smbol
o
.*
./ ou .\
.^

Operao
Multiplica
o
Diviso
Potncia

Utilizando essa notao no estaremos multiplicando a matriz X 1x11


por X1x11 sendo isso que provocou o erro atravs da sintaxe >>
y=x^2.
O correto seria >> y=x.^2, onde teramos a seguinte multiplicao:
x11.x11, x12.x12, x13.x13, x14.x14, ...
(-5).(-5), (-4).(-4), (-3).(-3), (-2).(-2), ...
Assim sendo, o grfico da funo y
= x2, em Matlab ficaria:
>> x=-5:5;
>> y=x.^2;
>> plot(x,y)
Com o seguinte resultado:

25

20

15

10

Ainda assim, nota-se que a curva


0
-5
-4
-3
-2
-1
0
1
2
3
4
5
no tem muita preciso, pois o
passo como no foi definido, assume o valor 1. Para que a curva fique
mais precisa deve-se definir um passo diferente de 1, como
exemplificado a seguir:
25

>> x=-5:0.1:5;
>> y=x.^2;
>> plot(x,y)

20

15

Tem-se:
10

0
-5

Profa. Dora

Pgina 42

-4

-3

-2

-1

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Como traar um grfico, variando o estilo da linha, as
marcaes dos pontos e a cor. Para isso existe um padro, a saber:

Cor

Marcador

Estilo

Cdigo

Descri
o

Cdig
o

Descrio

Cdigo

Descrio

Amarelo

Ponto

Slido

Magnet
a

Circulo

Pontilhad
o

Ciano

-.

Pontotrao

Vermelh
o

mais

--

Tracejado

Verde

asterisco

<none
>

Sem linha

Azul

quadrado

Branco

losango

Preto

Triang.p/baixo

Triang.p/cima

<

Triang.p/esque
rda

>

Triang.p/direita

Pentgono

Hexgono

Profa. Dora

Pgina 43

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
<non
e>

Sem marcador

Para explorar os recursos apresentados, vejamos o seguinte exemplo:


Dada a funo y=sen(2x), calcule a derivada e trace o grfico de
funo, bem como da derivada.
y sen(2 x) funo
y 2 cos( 2 x) derivada

Em Matlab vem:
>> x=0:0.1:2*pi;
>> y1=sin(2*x);
>> y2=2*cos(2*x);
>> plot(x,y1,'o-',x,y2,'--r')
Cujo resultado :
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2

Para refinar o grfico temos alguns comandos, a saber:


Como definir o eixo da abscissa com sua respectiva identificao
xlabel(texto);
Como definir o eixo da ordenada com sua respectiva identificao
ylabel(texto);
Como definir o ttulo do grfico com sua respectiva identificao
title(texto);
Como ativar as linhas de grade para referenciar o traado
Profa. Dora

Pgina 44

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
grid on;
Como desativar as linhas de grade para referenciar o traado
grid off;
Para explorar esses comandos, faamos o grfico da reta y=2x-4,
com x [0,5].
>> x=0:5;
>> y=2*x-4;
>> plot(x,y)
>> xlabel('Eixo das abscissas');
>> ylabel('Eixo das ordenadas');
>> title('y=2x-4');
>> grid on;
y=2x-4

6
5
4

Eixo das ordenadas

3
2
1
0
-1
-2
-3
-4

0.5

1.5

2
2.5
3
Eixo das abscissas

3.5

4.5

Como ativar/desativar a legenda em um grfico?


Ativando legenda - comando: legend(texto,texto,...texto,posio)
Desativando legenda comando: legend of

Valo
r
0

Posio

Escolha
automtica

Profa. Dora

Valo
r
2

Posio

Canto
esquerdo

Pgina 45

superior

Valo
r
4

Posio

Canto
direito

inferior

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Canto
direito

superior

Canto
esquerdo

inferior

-1

direita
desenho

Exemplo: y=cos(x) e y=sen(x)


>>
>>
>>
>>
>>
>>
>>
>>
>>

x=0:0.1:2*pi;
y1=cos(x);
y2=sin(x);
plot(x,y1,'k',x,y2,':r');
grid on
xlabel('0<=x<=2pi');
ylabel('-1<=y<=1');
title('Funes trigonomtricas');
legend('cos(x)','sen(x)')
Funes trigonomtricas

cos(x)
sen(x)

0.8
0.6
0.4
-1<=y<=1

0.2
0
-0.2
-0.4
-0.6
-0.8
-1

3
4
0<=x<=2pi

Como traar vrios grficos com distintos comandos plot?


Para atender essa necessidade se tem o seguinte comando:
hold on fixa as definies para os prximos grficos subsequentes
hold of desativa as definies

Profa. Dora

Pgina 46

do

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Para tanto trace os grficos de cada funo a seguir:


y=sen(x), y=sen(x-200) e y=sen(x-400), ento:
>> x=0:0.1:2*pi;
>> y1=sin(x);
>> plot(x,y1);
>> hold on;
>> y2=sin(x-20*pi/180);
>> plot(x,y2,'r--');
>> y3=sin(x-40*pi/180);
>> plot(x,y3,'k-.');
>> grid on;
>> xlabel('eixo X');
>> ylabel('eixo Y');
>> title('Variao do seno');
>> legend('sen(x)','sen(x-20)','sen(x-40)');
Variao do seno

sen(x)
sen(x-20)
sen(x-40)

0.8
0.6
0.4

eixo Y

0.2
0
-0.2
-0.4
-0.6
-0.8
-1

eixo X

Como gerar vrios grficos cada qual em seu plano, isto , subgrficos.
Comando: subplot(linha,coluna,plano em foco)
Exemplo: Vamos traar os grficos: sen(x), sen(2x),sen(3x) e sen(4x),
com x[-,].

Profa. Dora

Pgina 47

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

x=-pi:0.1:pi;
subplot(2,2,1); plot(x,sin(x));
grid on; title('y=sen(x)');
xlabel('eixo X'); ylabel('eixo Y');
subplot(2,2,2); plot(x,sin(2*x));
grid on; title('y=sen(2x)');
subplot(2,2,3); plot(x,sin(3*x));
grid on; title('y=sen(3x)');
subplot(2,2,4); plot(x,sin(4*x));
grid on; title('y=sen(4x)');
y-sen(x)

eixo Y

1
0.5

0.5

-0.5

-0.5

-1
-4

-2

0
eixo X
y=sen(3x)

-1
-4

0.5

-0.5

-0.5
-2

-2

-1
-4

y=sen(4x)

0.5

-1
-4

y=sen(2x)

-2

E se nos sub-grficos a quantidade no for par?


Exemplo: Trace os seguintes grficos y=sen(x), y=0.25sen(3x) e
y=sen(x)+0.25sen(3x).
>>
>>
>>
>>
>>
>>
>>
>>

x=-pi:0.1:pi;
subplot(2,2,1); plot(x,sin(x));
grid on, title('y=sen(x)');
subplot(2,2,3); plot(x,0.25*sin(3*x));
grid on, title('y=0.25sen(3x)');
subplot(1,2,2); y=sin(x)+0.25*sin(3*x);
plot(x,y); grid on;
title('y=sen(x)+0.25sen(3x)');

Profa. Dora

Pgina 48

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

y=sen(x)

0.5

0.8

0.6

-0.5

0.4

-1
-4

-2

y=0.25sen(3x)

0.4

0.2
0
-0.2

0.2

-0.4

-0.6

-0.2

-0.8

-0.4
-4

-2

y=sen(x)+0.25sen(3x)

-1
-4

-2

Quando temos dados que variam em uma ampla gama de valores


positivos, pode-se utilizar o recurso grfico monolog, isto , escala
logartmica, muito utilizado em vrias situaes da rea de
Engenharia. Para tanto, faamos o grfico da funo:
y ex
com
x 0,4
passo 0.1

>>
>>
>>
>>
>>
>>
>>
>>

subplot(1,1,1);
x=0:0.1:4;
y=exp(x);
semilogy(x,y);
grid on;
xlabel('0 <= x <= 4');
ylabel('eixo das ordenadas');
title ('Funo exponencial');

Profa. Dora

Pgina 49

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Funo exponencial

eixo das ordenadas

10

10

10

0.5

1.5

2
2.5
0 <= x <= 4

3.5

Como traar um grfico formado por pontos discretos?


Comando: stem(valores discretos, funo)
2 n

11

y sen

Exemplo: Para n={0,1,2,3,4,5,6,7,8,9,10,11}


discretos), trace o grfico da funo:

>>
>>
>>
>>

n=0:11;
y=sin(2*pi*n/11);
stem(n,y,'r');
grid on;

(valores

1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

Profa. Dora

Pgina 50

10

12

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Com base nos conceitos desenvolvidos faa os exerccios a seguir:
1.Trace o grfico das funes lineares a seguir sabendo que x [10,10]
4 3x
2x 3
y
y
2
2
a)

b)
y x2 1

y x2 1

2.Tracem num mesmo grfico as funes:


y x 2 (1 3 ) x 3
Sabendo que x [-3,3] com passo 0.1. Sendo
que a primeira funo dever estar na
cor vermelha, circulo e
slido, enquanto que a segunda funo dever estar na cor preta e
pontilhada.

3.Trace o grfico da funo quadrtica


com x [-2,2] com passo 0.1, defina tambm o eixo da abscissa, da
ordenada e o
ttulo do grfico.

y log 2x

4.Trace o grfico y=2x para x [-3,3] com passo 0.1, definindo


o eixo da abscissa, ordenada, ativando a grade, fixada as definies
trace o grfico de
e gere a legenda.

5
f 32 273.15
9

5.Utilizando a escala molog construa o grfico de


temperatura (F)x(K), isto , sabendo que a temperatura em (F)
varia de -110 a 212 calcule a temperatura em (K), sabendo que

6.Sabendo que a fonte de voltagem V=120V com resistncia interna


Rs de 50 e que a resistncia de carga Rl varia de 1 at 100 .
Faa o grfico da resistncia de carga (Rl) pela carga em potncia
mxima, sabendo que:
Profa. Dora

Pgina 51

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
I

V
V

RTOT Rs Rl

P I 2 Rl
Rs
V

Rl - carga

Fonte de voltagem

Captulo 07
Arquivos M

Matlab pode executar uma seqncia de declaraes armazenada em


arquivos chamados "Arquivos M" (devido extenso ".m"). Muito do
trabalho com Matlab est na criao e refinamento de arquivos M.
Os arquivos M podem ser scripts (roteiros) ou funes.
Um script consiste em uma seqncia de comandos do Matlab. Se o
arquivo tem um nome, por exemplo, teste.m, ento o
comando teste far o Matlab executar os comandos declarados no
arquivo teste.m. Todas as variveis em um script so globais e
mudam os valores das variveis de mesmo nome no ambiente da
sesso de Matlab atual.
Arquivos funes fornecem flexibilidade ao Matlab. Pode-se criar
novas funes especficas para o problema. Tais funes tm o
mesmo status de qualquer outra funo do Matlab. Em uma funo
as variveis so locais.
Vamos inicialmente imaginar uma situao: precisamos traar o
grfico da funo y=sen(x).cos(x) com x[0,10] e passo = 0.1. Mas
gostaramos de guardar essa tarefa para utilizar em outra atividade.

Profa. Dora

Pgina 52

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Como podemos observar a tarefa foi completada, mas est


armazenada em memria, isto , se fecharmos o Matlab teremos que
digitar todos os cdigos acima novamente. Para melhorar a
performance iremos criar um arquivo na forma de script.
Ento inicialmente no command window podemos ativar o editor
nativo, porm um arquivo .m pode ser criado usando-se qualquer
editor de texto.

Com o editor disponvel, basta digitar os comandos e depois grav-lo


com o nome ex1.m, isto :

Profa. Dora

Pgina 53

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Uma vez armazenado o script para poder acion-lo, basta
fazer o seguinte:

Local aonde foi


gravado
Digita-see oscript
nome do script
e pressiona-se
ENTER. da
Resultado
execuo do
script

Agora mesmo que o Matlab seja desligado o script est armazenado


para novas execues, no sendo necessrio editar o cdigo, basta
escrever o nome do script.

Para melhorar a implementao de


discutiremos alguns comandos, a saber:

um

script

em

MatLab,

Comando: %
Finalidade: Utilizado para gerar comentrio em uma linha do script.

Comando: disp(texto)
Finalidade: Exibir uma mensagem para o usurio

Comando: <varivel> = input(texto);


Finalidade: Atribuir para a varivel um determinado valor em tempo
de execuo.
Profa. Dora

Pgina 54

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Comando: fprintf(texto
resultado,<varivel>);

caracteres

de

formatao

de

Finalidade: Exibir o resultado obedecendo a uma determinada


formatao.

Caracteres de formatao de resultado


Caracter

Descrio

%d

Exibe valor como inteiro

%e

Exibe valor em formato exponencial

%f

Exibe valor em formato de ponto flutuante

%g

Exibe valor em formato de ponto flutuante ou


exponencial
o que for mais curto

%c.df

Exibe uma quantidade de casas numricas (c) e fixa


quantidade de casas decimais (d)

\n

Muda o prompt de linha.

Com base nesses


programa que:

conceitos

vamos

fazer

um

Calcula a distncia entre dois pontos (x1,y1) e


(x2,y2) em um plano de coordenadas cartesianas,
2
2
para
tanto temos a
d x1 x2 y1 y 2
seguinte
equao:

Profa. Dora

Pgina 55

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Ento executando vem:

Faamos ento os seguintes scripts:

Profa. Dora

Pgina 56

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
R

VR

1
L

R2

1.

Vo

Antena
L

+
V
-

T erra

Observando
a
verso
simplificada da parte frontal de um receptor de rdio AM, faa
um programa interativo que calcula a carga resistiva atravs da
frmula abaixo. Para tanto, deve ser fornecido os seguintes
dados, o Indutor (L), o Capacitor (C), a Resistncia (R), a
Voltagem (Vo) e a Freqncia (f). Ento calcule = 2..f e

2. Fazer um script que calcula valores para a funo f (x) = a.e-2x+b e


trace o grfico x versus f (x), a partir dos valores inicial e final de x (xi
e x f, tendo 100 valores de x entre xi e xf) e dos parmetros a e b.

Profa. Dora

Pgina 57

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 08

Comando If

O comando if permite que se utilize comandos condicionais no


MATLAB, tanto no Command Window como no interior de scripts ou
funes.
Vejamos agora a variao do comando IF
Fluxograma

Algoritmo
Se < condio >
< instruo >
Fim

Sintaxe no MatLab
if <condio>
<instruo>
end

Para exemplificar sua utilizao faamos o seguinte programa:

Profa. Dora

Pgina 58

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

R1 z0 1

z1
z0

R2

z1
1

z1
z0

PM 20 log

z0
z
0 1
z1
z1

Dada
as impedncias (Z0 e Z1) do circuito, calcule as resistncias e a perda
mnima, desde que Z0 > Z1. Conforme figura e formulas a seguir:

Executando temos:

Profa. Dora

Pgina 59

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

If...then...else
Fluxograma

Algoritmo
Se <condio>
<instruo>
:
<instruo>
Seno
< instruo >
:
< instruo >
Fim

Para exemplificar sua utilizao faamos o seguinte


programa:
Suponha que um txi esteja passando entre dois
edifcios. Considere que a varivel d contenha a
distncia do veculo ao edifcio mais prximo. Se o
carro estiver a 10 metros do edifcio, a velocidade
calculada usando a seguinte equao:
v = 0,425 + 0,00175d2.
Se o txi estiver a uma distncia maior que 10
metros, use a equao a seguir:
v = 0,625 + 0,12d 0,00025d2
Programando temos:
Profa. Dora

Pgina 60

Sintaxe em MatLab
if <condio>
<instruo>
:
<instruo>
else
<instruo>
:
<instruo>
end

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Executando:

Condio
a sintaxe da pergunta formulada na condicional para tanto, usa-se
operadores e estes se dividem em dois grandes grupos, a saber:
Operadores relacionais
Estes operadores permitem que se estabelea uma relao entre
variveis ou variveis e constantes, assim sendo, utiliza-se os
seguintes smbolos conforme tabela a seguir:

Notao
Matemtica

Profa. Dora

Notao
MatLab

em

Exemplos

==

>

>

A>B

X
2

>

<

<

A<B

X
2

<

>=

X >=

Pgina 61

A
B

==

>=

X ==
2

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
B

<=

A
B

<=

X <=
2

~=

A
B

~=

X
~=2

Operadores lgicos

Para exemplificar sua utilizao faamos o seguinte programa:


Dada a velocidade inicial (m/s), acelerao
(m/s) e o intervalo de tempo (s). Calcule a
velocidade (m/s) e o tipo de movimento, para
tanto, se acelerao for zero a velocidade
ser igual velocidade inicial e o tipo de
movimento ser uniforme. Porm, uma vez
calculada a velocidade pela formula abaixo,
deve ser analisada a acelerao se esta for maior que zero para
qualquer
v v0 t

a t
2

tipo de velocidade o tipo de movimento ser acelerado seno


retardado.

Profa. Dora

Pgina 62

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Executando:

Condicional encadeada:

Profa. Dora

Pgina 63

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Fluxograma

Algoritmo
Se <condio>
<instruo>
:
<instruo>
Seno Se
< instruo >
:
< instruo >
Seno Se
< instruo >
:
< instruo >
Seno
< instruo >
:
< instruo >
Fim

Sintaxe em MatLab
if <condio>
<instruo>
:
<instruo>
elseif <condio >
<instruo>
:
<instruo>
elseif <condio >
<instruo>
:
<instruo>
else
<instruo>
:
<instruo>
End

Faamos um programa utilizando esse recurso.


Tomemos trs corpos de prova, a saber, um esfrico outro cilndrico e
outro paralelogramo e calculemos o seu volume de acordo com a
escolha do usurio. Isto :
Se a escolha for 1 ser esfrico,
Se a escolha for 2 ser cilndrico e
Se a escolha for 3 ser paralelogramo,
Qualquer outro valor deve ser desconsiderado com a respectiva
mensagem
Uma vez feita a escolha dever ser solicitadas as medidas
necessrias para o clculo do volume, a saber:
4
esfrico r 3
3
cilindrico r 2 h
parale log ramo h c l

Profa. Dora

Pgina 64

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Executando, temos:

Profa. Dora

Pgina 65

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Profa. Dora

Pgina 66

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Faa os seguintes programas


1. Nesse programa de ser fornecido o fluido (em litros), a
temperatura inicial e final (em C), com relao ao aquecedor ter
a potncia (em W). Com essas informaes deve-se calcular o
tempo de aquecimento da gua. Para tanto, leva-se em
considerao que o fluido e os dados do aquecedor devem ser
positivos, caso no seja deve exibir uma mensagem para o
usurio. Para efetuar o clculo solicitado
devem-se levar em conta as seguintes
frmulas:
E
Q A 1000 TF TI
E Q 4,18
T
P

Onde Q o calor, E a energia e T o tempo.

2. Nesse programa de serem fornecidos os seguintes dados do


ensaio, a saber: espao inicial (em m), velocidade inicial (em
m/s), acelerao (em m/s) e o tempo (em s), com esses dados
iro calcular o espao percorrido (em m) e a velocidade (em
m/s).Para tanto devemos levar em considerao a acelerao
for igual a zero devemos efetuar o seguinte calculo (1) seno
(2),
como
formulas abaixo:

Profa. Dora

Pgina 67

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
(1)

s s0 v0 t

( 2)

s s0 v0 t

v v0
a t2
2

v v0 a t

Captulo 09

Estrutura de Repetio
Lao For...End
indice=inicio:incremento:fim
instruo
::
instruo

Observao importante:
A ausncia do incremento implica que cada execuo do lao seja
somado 1 e o valor inicial deve ser sempre menor que o valor final.
Para exemplificar a utilizao do lao for, faamos um exemplo que
calcula o fatorial de um nmero natural qualquer. Isto :
Sabemos matematicamente que:
0!=1
1!=1
Profa. Dora

n! = n.(n-1).(n-2)....3.2.1

Pgina 68

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Executando:

Calcule a distncia percorrida por um projtil quando ele lanado


com uma velocidade inicial em m/s e ngulo inicial a em graus entre
5 e 85, com incremento de 10, ento desenhe a trajetria do
percurso. Assumiremos que no h resistncia do ar.

Para efetuar os clculos, devemos levar em considerao:

Profa. Dora

Pgina 69

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
vOx vo cos( a )
vOy vo sen (a )
Ins tan te _ max

vOy
g

x(t ) vOx t
1
y (t ) vOy t g t 2
2
2
g 9.81(m / s )

Profa. Dora

Pgina 70

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Executando:

Faamos um programa que nos permita calcular valores para a funo


e traar seu respectivo grfico.
x 1
1, se
2
f ( x) x , se
1 x 1
x 2, se
x 1

% traa o grfico de uma funo com intervalo


clear all;
clc;
n=0;
for t=-2:0.01:2
n=n+1;
x(n)=t;
if x(n)<-1
y(n) = 1;
elseif x(n)>=-1 & x(n)<=1
y(n) = x(n)^2;
else
y(n) = -x(n)+2;
end
end

Profa. Dora

Pgina 71

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
plot(x,y,'r*-')

Executando:

1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-2

-1.5

-1

-0.5

0.5

1.5

Vamos criar um programa que gere uma tabela de converso de C


(Celsius) para F (Farenheit) e K (Kelvin), entendendo que os C iro
variar de 25 a 40 graus com incremento 1.
%converte temperatura em celsius para farenheit
clear all;
clc;
disp('Gera tabela de converso de Celsius');
disp(' ');
fprintf('C \t F \t K \n')
for C=25:40
F = 1.8 * C + 32;
k = 273.15+C;
fprintf('%2.0f \t %5.1f \t %8.3f \n',[C F k])
end

Executando:

Profa. Dora

Pgina 72

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Gera tabela de converso de Celsius para Farenheit
C
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

F
K
77.0
78.8
80.6
82.4
84.2
86.0
87.8
89.6
91.4
93.2
95.0
96.8
98.6
100.4
102.2
104.0

298.150
299.150
300.150
301.150
302.150
303.150
304.150
305.150
306.150
307.150
308.150
309.150
310.150
311.150
312.150
313.150

Converso nmero para string e vice-versa


Para executar essa tarefa devemos conhecer alguns conceitos
importantes, a saber:
num2str uma funo responsvel por converter um nmero em
string
Sintaxe: num2str(nmero)
str2num uma funo responsvel por converte string em um
nmero
Sintaxe: str2num(string)
Observao: para compor uma string que ser exibida, mesclando
string fixas com valores convertidos, devemos gerar uma varivel
string, concatenando as informaes, isto : <varivel> = [ string
fixa string convertida ];
Para utilizar esses conceitos, faa um programa que gere a tabuada
de um nmero qualquer.
%tabuada de um nmero
clc;
clear all;
msg = 'D o nmero para gerar a tabuada = ';
n = input(msg);
for i = 1:10
m = n*i;

Profa. Dora

Pgina 73

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
tabuada = [num2str(n) 'x' num2str(i) ' = ' num2str(m)
'\n'];
fprintf(tabuada);
end

Executando:
D o nmero para gerar a tabuada = 7
7x1 = 7
7x2 = 14
7x3 = 21
7x4 = 28
7x5 = 35
7x6 = 42
7x7 = 49
7x8 = 56
7x9 = 63
7x10 = 70

Faa agora os seguintes programas:


1.Dada a funo abaixo, faa um programa que trace o seu respectivo
grfico:

4 ex 2

f ( x)

x2
x 6.5 1 / 3

para 6 x 2
para
para

2 x0
0 x4

2.Faa um programa que determine a soma dos m primeiros termos


da srie de Leibniz, aonde a quantidade m deve ser informada pelo
usurio.
m
1
( 1) n
com (n 0,1,2, , m)

2n 1
n 0

Profa. Dora

Pgina 74

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
B
R
A
V

3.Faamos
um programa que gere uma tabela da tenso sobre o capacitor, em
funo do tempo, durante a descarga, para tanto, dever ser
fornecida as seguintes informaes: V 0 a tenso inicial do capacitor, R
a resistncia do resistor e C a capacitncia do capacitor.

V V0 e

t
RC

Captulo 10
Comando While
O loop while uma importante estrutura para repetio de um grupo
de comandos quando a condio especificada for verdadeira. O
formato geral para esta estrutura de controle :

Profa. Dora

Pgina 75

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Fluxograma

Algoritmo

condio
s
instruo

instruo

Enquanto <
condio >
< instruo
>;
:
:
< instruo
>;
Fim

Sintaxe no
MatLab
while <condio>
<instruo>;
:
:
<instruo>;
end

Se a expresso for verdadeira, ento o grupo de comandos A


executado. Depois destes comandos serem executados, a condio
novamente questionada. Se for verdadeira, o grupo de comandos
novamente executado. Quando a condio for falsa, o controle pula
para o comando posterior ao comando end. As variveis modificadas
no grupo de comandos A devem incluir as variveis na expresso, ou
o valor da expresso nunca ser mudado. Se a expresso for
verdadeira (ou um valor no-nulo), o loop torna-se um loop infinito.
(Lembre-se que voc pode usar ^c para sair um loop infinito).
Como primeira aplicao, faamos um programa que traa uma
funo do segundo grau, aonde o usurio determina o intervalo da
abscissa e os coeficientes da funo. Isto :
lim inicial x lim final
f ( x) ax 2 bx c
lim inicial ?
lim

final

a?
b?
c?

Profa. Dora

Pgina 76

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
%Traar o grfico de funo quadrtica num intervalo determinado
resp = 's';
while resp == 's'
clear all;
clc;
disp('Funo quadrtica y=A.x+B.x+C');
disp(' ');
li = input('D o limite inicial para x = ');
lf = input('D o limite final para x = ');
if li>=lf
disp('LIMITE errado...');
pause;
resp = 's';
else
p = input('D a variao de x ');
if p<=0
disp('PASSO errado...');
pause;
resp = 's';
else
a = input('D o coeficiente A da funo ');
if a==0
disp('Coeficiente A errado...');
pause;
resp = 's';
else
b = input('D o coeficiente B da funo ');
c = input('D o coeficiente C da funo ');
x = li:p:lf;
y = a*x.^2 + b*x + c;
plot(x,y,'*r-')
resp = input('Nova funo? (s/n)? ');
end
end
end
end

Executando:
Funo quadrtica y=A.x+B.x+C
D o limite inicial para x = 2
D o limite final para x = 1
LIMITE errado...
Funo quadrtica y=A.x+B.x+C
D o limite inicial para x = 1
D o limite final para x = 2
D a variao de x 0.1
D o coeficiente A da funo 0
Coeficiente A errado...
Funo quadrtica y=A.x+B.x+C

Profa. Dora

Pgina 77

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
D o limite inicial para x = -2
D o limite final para x = 2
D a variao de x 0.1
D o coeficiente A da funo 1
D o coeficiente B da funo 0
D o coeficiente C da funo 0
Nova funo? (s/n)?
4
3.5
3
2.5
2
1.5
1
0.5
0
-2

-1.5

-1

-0.5

0.5

1.5

Obs.: a resposta uma string assim sendo se a resposta for sim digite
s caso a resposta seja no digite n
Vamos fazer um programa para calcular o perodo e o deslocamento
de um pendulo conforme escolha do usurio,
para tanto, ser necessrio fornecer o
comprimento do pendulo em cm, o ngulo em
graus e o tempo em segundos.
Os dados devero ser consistidos para
garantir sua validade operacional.
Para a confeco do programa devemos levar
em considerao os seguintes conceitos:
A escolha deve ser 1 para perodo e 2 para deslocamento, qualquer
outro valor deve ser ignorado.
O comprimento e o tempo deve ser um valor positivo.
Ento:

Profa. Dora

Pgina 78

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Periodo p 2 .

c
980

t
Deslocamen to d cos 2
p

% Periodo e deslocamento de um pendulo


resp = 's';
while resp == 's'
clc;
clear all;
disp('+-------------------------------+');
disp('|
ESTUDO DE UM PENDULO
|');
disp('|
|');
disp('|
1. Perodo
|');
disp('|
|');
disp('|
2. Deslocamento
|');
disp('|
|');
disp('+-------------------------------+');
disp(' ');
escolha = input('Faa sua opo: ');
disp(' ');
if escolha ~= 1 & escolha ~= 2
fprintf('Opo errada.... \n');
pause;
resp = 's';
continue;
else
if escolha == 2
a = input('D o angulo em graus = ');
t = input('D o tempo em segundos = ');
if t <= 0
fprintf('Tempo errado..... \n');
pause;
resp = 's';
else
c = input('D o comprimento em metros = ');
if c<=0
fprintf('Comprimento errado... \n');
pause;
resp='s';
else
c = input('D o comprimento em metros = ');
if c<=0
fprintf('Comprimento errado... \n');
pause;
resp='s';
end
end
end
disp(' ');
if escolha == 1
fprintf ('Comp. \t Periodo \n');
else
fprintf ('Ang \t Deslocamento \n');

Profa. Dora

Pgina 79

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
end
if c>0 | (escolha==2 & t>0)
controle = 0;
while controle <= 4
p = 2*pi*sqrt(c/980);
if escolha ==1
fprintf ('%5.1f \t %8.3f \n',[c p]);
c = c+5;
else
ard = a*pi/180;
d = ard*cos(2*pi*(t/p));
fprintf ('%4.0f \t %8.3f \n',[a d]);
a = a+10;
end
controle = controle + 1;
end
end
disp(' ');
resp = input('Novo estudo do pendulo? (s/n) = ');
end

end
end

Faamos um programa que estudo o efeito DOPPLER. Para tanto,


devemos levar em considerao a velocidade da fonte (V f) em m/s,
velocidade do observador (Vo) em m/s e a freqncia da fonte (f) em
kHz. Ao estudar o efeito DOPPLER, temos que escolher como a fonte e
o observador se comportam, isto , se o efeito convergente,
divergente, sentido da fonte ou sentido do observador.
Ento temos as seguintes possibilidades:

Assim possvel calcular a freqncia ouvida pelo observador


medida que a velocidade do observador aumenta ou diminui de uma
unidade em relao fonte de acordo com o caso em estudo. Cabe
destacar que estamos considerao o meio de propagao o ar cuja
velocidade de 340 m/s e cuja temperatura de 25C. Com base
nessas informaes vamos gerar uma tabela da velocidade e
freqncia em relao ao observador.
%Efeito DOPPLER
clear all;
clc;
resp = 's';
while resp == 's'
clc;
clear all;

Profa. Dora

Pgina 80

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
disp (' ');
disp ('+--------------------------+');
disp ('|
Efeito DOPPLER
|');
disp ('|
|');
disp ('| 1. Convergente
|');
disp ('| 2. Divergente
|');
disp ('| 3. Sentido da fonte
|');
disp ('| 4. Sentido do observador |');
disp ('|
|');
disp ('+--------------------------+');
disp (' ');
escolha = input('Faa sua opo: ');
if escolha ~=1 && escolha ~=2 && escolha ~= 3 && escolha ~= 4
fprintf('Opao errada \n');
pause;
resp='s';
else
disp(' ');
f = input('D a frequncia da fonte em (kHz) ');
if f<=0
fprintf ('FREQUNCIA errada...');
pause;
resp = 's';
continue;
end
vf = input('D a velocidade da fonte em (m/s) ');
if vf<=0
fprintf('VELOCIDADE DA FONTE errada...');
pause;
resp = 's';
continue;
end
vo = input('D a velocidade do observador em (m/s) ');
if vo<=0
fprintf('VELOCIDADE DO OBSERVADOR errada...');
pause;
resp = 's';
continue;
end
disp(' ');
fprintf ('V_Observador \t F_Observador \n');
controle = 0;
while controle <=4
if escolha == 1
fo = f*((340+vo)/(340 - vf));
fprintf('%10.4f \t %12.4f \n',[vo fo]);
vo = vo+1;
elseif escolha == 2
fo = f*((340-vo)/(340 + vf));
fprintf('%10.4f \t %12.4f \n',[vo fo]);
vo = vo-1;
if vo<0
break;
end
elseif escolha == 3
fo = f*((340+vo)/(340 + vf));
fprintf('%10.4f \t %12.4f \n',[vo fo]);
vo = vo+1;
elseif escolha == 4
fo = f*((340-vo)/(340 - vf));
fprintf('%10.4f \t %12.4f \n',[vo fo]);

Profa. Dora

Pgina 81

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
vo = vo-1;
if vo<0
break;
end

end
controle = controle + 1;

end
disp(' ');
resp = input('Novo estudo (s/n) = ');
end

end

Faamos um programa para exibir a velocidade mdia do fluxo na


seo total de gua corrente de um canal.
Para tanto, ser necessrio receber as seguintes informaes: a
profundidade mdia hidrulica em (m), a diferena de superfcie em
(m), o comprimento do curso da gua em (m) e o
coeficiente de Manning.
Dever ser perguntado se existe variao da
profundidade mdia hidrulica se a resposta for no
deve assumir o valor zero, caso haja dever ser
fornecido esse valor em (m) sendo o mesmo acrescido
na
profundidade
mdia
hidrulica
fornecida
inicialmente fazendo dez interaes gerando uma
tabela da profundidade pela velocidade mdia em
cada simulao.
Ao final deve haver a pergunta se haver novo
ensaio. Caso a resposta seja sim retorne ao inicio do
programa e se a resposta for no encerre o programa.
Para tanto temos as seguintes frmulas:
Onde:
D = Diferena de superfcie
C = Comprimento do curso da
gua;
P = Profundidade mdia
hidrulica;
N = Coeficiente de Manning.

Profa. Dora

Pgina 82

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Captulo 11
Formatos Numricos
Quando o MATLAB mostra um resultado numrico ele segue certas
regras.
No caso de nenhum formato estar definido, se um resultado um
nmero inteiro, o MATLAB mostra como um inteiro.

Quando um resultado um nmero real, o MATLAB mostra uma


aproximao com at quatro casas decimais.

Se os dgitos significativos estiverem fora desta faixa, o MATLAB


mostra o resultado em notao cientfica.

Voc pode definir um formato diferente. Vejamos agora algumas


possibilidades:
Comando: format short exibe o resultado com 4(quatro) dgitos
decimais (formato padro). Veja o exemplo:

Profa. Dora

Pgina 83

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Comando: format short g exibe o resultado com 5(cinco) dgitos


decimais com ou sem expoente.Veja o exemplo:

Comando: format short e exibe o resultado com 5(cinco) dgitos


decimais mais expoente.Veja o exemplo:

Comando: format long exibe o resultado com 14 (quartoze) dgitos


decimais. Veja o exemplo:

Comando: format long g exibe o resultado com 15 (quinze) dgitos


decimais,com ou sem expoente. Veja o exemplo:

Profa. Dora

Pgina 84

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Comando: format long e exibe o resultado com 15 (quinze) dgitos


decimais mais expoente. Veja o exemplo:

Comando: format bank exibe o resultado com 2(dois) dgitos


decimais. Veja o exemplo:

Comando: format compact exibe o resultado suprimindo as linhas


adicionais. Veja o exemplo:

Comando: format loose exibe o resultado restabelecendo as


linhas adicionais. Veja o exemplo:

Profa. Dora

Pgina 85

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Comando: format rat exibe a razo aproximada entre inteiros
pequenos. Veja o exemplo:

Variveis permanentes
Existem algumas variveis que so intrnsecas ao MATLAB e que no podem ser
apagadas. Algumas so interessantes:
ans
eps
realmax
realmin
pi
i, j

Resposta mais recente, que no


foi atribuda a nenhuma varivel.
Preciso da mquina

flops

Maior nmero de ponto flutuante


Menor
nmero
de
ponto
flutuante
3.14159265358979
Unidade imaginria

inf
computer

Contador de operaes
matemticas
Not
a
Number
(indeterminao)
Infinito
Tipo de computador

why
version

Resposta sucinta
Verso do Matlab

NaN

Funes matemticas comuns:


Funo
abs(x)
cosh(x)
gcd(x,y)
imag(x)
lcm(x,y)
max(x)
mean(x)
min(x)
real(x)
round(x)
sinh(x)
std(x)

Descrio
Modulo ou valor absoluto de x
Coseno hiperblico de x
MDC dos inteiros x e y
Parte imaginria de um nmero complexo
MMC dos inteiros x e y
Retorna o mximo valor do vetor x
Retorna a mdia aritmtica do vetor x
Retorna o menor valor do vetor x
Parte real de um nmero complexo
Arredonda o valor de x
Seno hiperblico de x
Retorna o desvio padro do vetor x

Captulo 12
Limite

Profa. Dora

Pgina 86

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Seja I um intervalo aberto ao qual pertence o nmero real a. Seja f uma
funo definida para x I {a}. Dizemos que o limite de f(x), quando x tende a a, L e
escrevemos:

lim x a f ( x) L 0, 0

0 x a f ( x) L

Em Matlab temos a seguinte sintaxe:

Operao Matemtica

Comando no MatLab
limit(f)

lim f ( x )
x 0

lim f ( x)
x a

lim f ( x )

x a

lim f ( x)
x

limit(f,x,a) ou limit(f,a)
limit(f,x,a,left)
limit(f,x,a,right)
Para executar o limite no MatLab se faz necessrio definir a varivel que ser
calculada, para tanto, temos o seguinte comando:
syms <variavel> <variavel> ... <variavel>
Obs.: possvel declarar apenas uma ou no caso de haver mais de uma declara-se a
varivel separada por espao.
Exemplos:

sen ( x)
x 0
x

lim

Definio de Derivada
Seja f uma funo definida em um intervalo aberto I e x0 um elemento de I. Chama-se

lim

x x0

f ( x) f ( x0 )
x x0

Profa. Dora

Pgina 87

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
derivadas de f no ponto x0 o limite
finito.

se este existir e for

A derivada de f no ponto x0 pode ser indicada das seguintes formas:

f ( x0 ) lim

x x0

f ( x) f ( x0 )
x x0

ou

y
ou
x 0 x
f ( x0 x) f ( x0 )
f ( x0 ) lim
x 0
x
f ( x0 ) lim

Exemplos:

No Matlab temos a seguinte sintaxe:


diff(f, var, ord), onde:
f: funo literal de uma ou mais variveis
var: varivel em relao a qual deseja-se derivar
ord: ordem da derivada a ser calculada
Assim, tem-se:
diff(f)
derivada de f em relao a x
diff(f,s)
derivada de f em relao a s
diff(f,2)
derivada de f duas vezes em relao a x
diff(f,s,2)
derivada de f em relao a s duas vezes
Aplicao: Um mvel desloca-se sobre um segmento de reta obedecendo equao
horria s = cos(t) atravs do sistema internacional de unidades, ento determine a
equao da velocidade e da acelerao. Lembrando que: v(t)=s(t) e a(t)=v(t). Faa
ento um programa que trace o grfico das trs equaes para 0t 6.
Pelo Command Window
Profa. Dora

Pgina 88

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Gerando as linhas de cdigo, vem:

Exemplos:

Profa. Dora

Pgina 89

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

Integral
Integral Vamos agora procurar um processo para calcular a integral
de f em [a,b] sem termos que recorrer definio. Para tanto,
consideremos f contnua e no negativa em [a,b].
b

f ( x)dx
a

O nmero
intervalo [a,b]. Isso :

representa a rea A sob o grfico de f(x) no

No MatLab so dadas trs funes para calcular a rea sob a curva num intervalo
finito. A saber:
1. A integrao numrica usando o processo chamado de
quadratura, no MATLAB, pode ser feita atravs da seguinte
sintaxe:
quad(fun,a,b) onde fun a funo contnua
a o limite inferior do intervalo de
integrao
b o limite superior do intervalo de integrao.
Integrao numrica usando a regra de Simpson recursiva
Exemplo: Calcule a rea sob o grfico de f(x)=x - 5x + 9, x[1,4]
Matematicamente temos:
4

A x 5x 9
2

4
1

x3
x2
5 9x
3
2

43
13
52 41 21
42
12
5 9.4
5 9.1

10.5
2
2
3 6
2
3
3

No Matlab, utilizando a funo quad, temos:

Profa. Dora

Pgina 90

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Para definir a funo cujos valores
de clculo sero definidos a posteriores
utiliza-se a seguinte forma sinttica:
@(x) funo;
Aonde so tratados os possveis valores de x,
sendo obrigatrio o seu uso nessa funo.

ou

2. Aproxima a integral sobre a funo,


pelo somatrio das reas dos trapzios,
no MATLAB, pode ser feita atravs da
seguinte sintaxe:
z = trapz(x,y)
b

i 1

A f ( x)dx f ( xi ) i x
Onde: x = intervalo fechado da integrao
y = funo de integrao.
f ( x) 250

x2
10

Exemplo: Faa uma estimativa da rea A sob o grfico de


com 0 x 50, dividindo o intervalo [0,50] em sub-intervalos de
comprimento 10.
Matematicamente seria:
50

A 250
0

x2
10

No Matlab tem-se:
Profa. Dora

Pgina 91

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab

3. Outra notao para o clculo da integral de uma funo no


MATLAB pode ser feita atravs das seguintes sintaxes:
int(f) a integral indefinida da funo f em relao varivel x
int(f,a,b) a integral definida da funo f em relao varivel x de
a at b
Exemplos:

x. cos( x)dx

x3
dx ?
1 x

Exerccio
Faa um programa que estude o sistema massa-mola. Para tanto
devemos receber via teclado as seguintes informaes: a constante
elstica da mola em (N/m), o deslocamento mximo da mola em (cm)
e a massa do bloco ligado mola em (g). Calcula-se ento a Energia
total, a fora na mola, a energia potencial, a energia cintica e a
velocidade da massa. Fazendo ento em subgrficos as seguintes
representaes: deslocamento versus energia cintica, deslocamento
versus energia potencial, deslocamento versus energia total e
deslocamento versus velocidade da massa. Para tanto temos as
seguintes sentenas:
Profa. Dora

Pgina 92

Ps Graduao do mestrado em Engenharia Mecnica


Noes de Matlab
Fisicament e

temos :

dv d 2 x

dt dt 2
dx
velocidade v
adt
dt
acelerao a

deslocamento x vdt
Sistema

massa mola :

Fora f kx ma kx m
Energia

potencial E p

Energia

cintica Ec

Profa. Dora

d 2x
d 2x
k

x
2
2
dt
dt
m

1 2
kx
2

1 2
mv
2

Pgina 93

Vous aimerez peut-être aussi