Buscar

Apostila_MCAE (2)

Prévia do material em texto

- APOSTILA - 
(MÉTODOS COMPUTACIONAIS APLICADOS À ENGENHARIA) 
 
 
 
 
 
 
 
 
 
 
 
ATIVIDADE 1 
 
1- Dadas as matrizes A e B: 
 
Onde: 
𝐴 = [
1 2 −2
1 0 3
−4 5 10
], 𝐵 = [
−1 4 −5
10 −3 2
5 2 −1
]; 
 pede-se determinar: 
C = A + B; 
D = A * B; 
E = inversa de A; 
F = Determinante de B; 
 
%Programa Matrizes 
 
a = [1 2 -2;-1 0 2; 4 -5 3]; 
b = [-1 1 -3;2 2 2;-2 4 -1]; 
 
c = a+b 
 
d = a*b 
 
e = inv(a) 
 
f = det(b) 
 
2- Dados os vetores 1 2
2 4
3 2
2 2
 G e G
−   
   
= = −
   
   −   
 
Determinar: 
Os produtos vetoriais: 
 
1 1 2 2 2 1 h G G e h G G=  = 
 
O módulo de 1h 
O produto escalar: 
 
 
1 2 . gg G G= 
 
%Produto Vetorial 
 
g1 = [2;3;-2]; 
 
g2 = [-4;-2;2]; 
 
h1 = cross(g1,g2) 
 
h2 = cross(g2,g1) 
 
modh1 = sqrt(h1(1)^2+h1(2)^2+h1(3)^2) 
 
%Produto Escalar 
gg = g1’*g2 
 
 
3 - Dado o polinômio: 
 
5 4 3( ) 3 - 7 -3 1= p x x x x x+ + 
 
Determinar suas raízes. 
 
Resolver as seguintes equaçoes: 
 
2 22 0 2 0 - x e x+ = − = 
 
 
%Programa - Polinômio 
 
clear all 
 
p = [1 3 -7 0 -3 1]; 
q = roots(p) 
 
p1 = [-1 0 2]; 
q1 = roots(p1) 
 
p2 = [1 0 -2]; 
q2 = roots(p2) 
 
4- Determinar a solução do sistema (1). 
 
{
𝑥 + 𝑦 − 3𝑧 + 𝑤 = 7
−2𝑥 − 𝑦 + 𝑧 + 4𝑤 = 9
𝑥 + 3𝑦 − 𝑧 − 4𝑤 = −4
4𝑥 − 𝑦 + 3𝑧 − 𝑤 = −5
 (1) 
O sistema (1) escrito na forma matricial é dado por (2). 
1 1 3 1 7
2 1 1 4 9
1 3 1 4 4
4 1 3 1 5
x
y
z
w
−     
     
− −
     =
     − − −
     
− − −     
 (2) 
A Eq. (2) é da forma (3). 
[A][X]=[B] (3) 
Pré-multiplicando (3) por [A]-1 , tem-se (4). 
 
[X]= [A]-1 [B] (4) 
 
%Solução do Sistema 
clear all 
 
a = [1 1 -3 1;-2 -1 1 4;1 3 -1 -4;4 -1 3 -1]; 
 
b = [7;9;-4;-5]; 
 
x = inv(a)*b 
ATIVIDADE 2 
 
1 - Dadas as funções: 𝑦1 = 𝑥2 + 4 e 𝑦2 = 𝑥 + 5, elabore um programa 
computacional, para gerar os gráficos de: 𝑦1 em função de 𝑥; 𝑦2 em 
função de 𝑥, com 𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 = −4, com incremento 𝑑𝑥 = 0,1 e um total de 
100 pontos. 
%Gráfico XY 
 
clear all 
close all 
 
x = -4; 
dx = 0.1; 
 
for i = 1:1:100; 
 
 y1 = x^2+4; 
 y2 = x+5; 
 
 
 xv(i) = x; 
 y1v(i)=y1; 
 y2v(i)=y2; 
 x = x+dx; 
end 
 
figure(1) 
plot(xv,y1v,xv,y2v);grid; 
legend('y1','ý2') 
xlabel('x') 
ylabel('y' 
 
 
2 - Dada a função 2z xy= , elabore um programa computacional, para 
gerar o gráfico de z em função de 𝑥 𝑒 𝑑𝑒 𝑦, com xinicial = yinicial = 0 e 
incremento 𝑑𝑥 = 𝑑𝑦 = 0,1 e um total de 200 pontos para x e 100 pontos 
para y. 
%Gráfico XYZ 
 
clear all 
close all 
 
x = 0; 
dx = 0.1; 
y = 0; 
dy = 0.1; 
 
for j = 1:1: 100 
 x = 0; 
 for i = 1:1:200 
 
 z = x*y^2; 
 xv(i,j) = x; 
 yv(i,j) = y; 
 zv(i,j) = z; 
 
 x = x+dx; 
 end 
 y = y + dy; 
end 
-4 -2 0 2 4 6
0
5
10
15
20
25
30
35
40
x
y
 
 
y1
ý2
plot3(xv,yv,zv,'k'); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
 
 3 - Elaborar um programa para geração da função pulso de amplitude de 
10 N, 
 com largura de pulso de 5 segundo. 
 
%Gráfico ForçaxTempo 
 
clear all 
close all 
 
t = 0.0; 
dt = 0.1; 
 
for i = 1:1:500; 
 if i>=0&i<=50 
 u = 10.0; 
 else 
 u=0; %mudar para função degrau (u = 10) 
 end 
 tv(i) = t; 
 uv(i) = u; 
 t = t+dt; 
end 
 
0
5
10
15
20
0
5
10
0
500
1000
1500
2000
 X (m) Y (m)
 Z
 (
m
)
figure(1) 
plot(tv,uv);grid; 
xlabel('Tempo (s)') 
ylabel('Força (N)') 
 
 
 
4 - Elaborar um programa para geração o gráfico dado pela seguinte 
função: 
Se t for maior e igual a zero e menor e igual a 2 seg, u = -5t; 
Se t for maior que 2 e menor e igual a 5 seg, u = -10, e 
Se t for maior que 5 e menor e igual a 8 seg, u = 3. 
%Gráfico ReferênciaxTempo 
 
clear all 
close all 
t = 0.0; 
dt = 0.01; 
 
for i = 1:1:801 
if t>=0 & t<=2 
 u = -5*t; 
 elseif t>2 & t<=5 
 u = -10; 
0 10 20 30 40 50
0
2
4
6
8
10
Tempo (s)
F
o
rç
a
 (
N
)
 
 elseif t>5 & t<=8 
 u = 3; 
 end 
 uv(i)=u; 
 tv(i) = t; 
 t = t+dt; 
end 
plot(tv,uv);grid 
xlabel('Tempo (s)') 
ylabel('Referencia (N)') 
legend('Referencia') 
 
 
 
 
 
 
 
 
 
 
 
0 1 2 3 4 5 6 7 8
-10
-8
-6
-4
-2
0
2
4
Tempo (s)
R
e
fe
re
n
c
ia
 (
N
)
 
 
Referencia
ATIVIDADE 3 
 
1 – Determinar o espaço de trabalho do robô de um grau de liberdade 
(1gdl) quando o motor girar de 0 a 360 graus. 
 
% Espaço de trabalho - 1 gdl (360 graus) 
 
clear all 
close all 
 
rd = pi/180.; 
g = 1/rd; 
 
r = 0.3; 
 
teta = 0*rd; 
dteta = 1*rd; 
 
for i = 1:1:361 
 
 rv = [r*cos(teta);r*sin(teta);0]; 
 x(i) = rv(1); 
 y(i) = rv(2); 
 teta = teta+dteta; 
end 
figure(1) 
plot(x,y,'k') 
xlabel(' X (m)') 
ylabel(' Y (m)') 
legend('espaço de trabalho') 
 
 
2 – Determinar a trajetória do órgão efetuador (partícula A) do robô de 
1gdl, quando o motor girar de 0 a 90 graus. 
% Espaço de trabalho - 1 gdl (90 graus) 
 
clear all 
close all 
 
rd = pi/180.; 
g = 1/rd; 
 
r = 0.3; 
 
teta = 0*rd; 
dteta = 1*rd; 
 
for i = 1:1:91 
 
 rv = [r*cos(teta);r*sin(teta);0]; 
 x(i) = rv(1); 
 y(i) = rv(2); 
 teta = teta+dteta; 
end 
figure(1) 
plot(x,y,'k') 
xlabel(' X (m)') 
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
 X (m)
 Y
 (
m
)
 
 
espaço de trabalho
ylabel(' Y (m)') 
legend('trajetoria') 
 
 
 
3 – Determinar o espaço de trabalho do robô de dois graus de liberdade 
(2gdl) quando o motor girar de 0 a 360 graus, e deslocamento do raio de 
0,1 a 0,3. 
 
 
-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
 X (m)
 Y
 (
m
)
 
 
trajetoria
% Espaço de trabalho - 2 gdl (360 graus e deslocamento do raio) 
 
clear all 
close all 
 
rd = pi/180.; 
g = 1/rd; 
 
r = 0.1; 
dr = 0.005; 
 
teta = 0*rd; 
dteta = 1*rd; 
 
for j = 1:1:40 
for i = 1:1:361 
 
 rv = [r*cos(teta);r*sin(teta);0]; 
 x(i,j) = rv(1); 
 y(i,j) = rv(2); 
 teta = teta+dteta; 
end 
r = r + dr; 
end 
figure(1) 
plot(x,y,'k') 
xlabel(' X (m)') 
ylabel(' Y (m)') 
legend('espaço de trabalho') 
 
 
4 – Determinar a trajetória do órgão efetuador (partícula A) do robô de 
2gdl, quando o motor girar de 0 à 90 graus e o pistão pneumático se 
deslocar de 0,1 à 0,2 m. 
% Espaço de trabalho - 2 gdl (90 graus e deslocamento do raio) 
 
clear all 
close all 
 
rd = pi/180.; 
g = 1/rd; 
 
r = 0.1; 
dr = 0.00111; 
 
teta = 0*rd; 
dteta = 1*rd; 
 
for i = 1:1:91 
 
 rv = [r*cos(teta);r*sin(teta);0]; 
 x(i) = rv(1); 
 y(i) = rv(2); 
 teta = teta+dteta; 
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
 X (m)
 Y
 (
m
)
 
 
espaço de trabalho
r = r + dr; 
end 
figure(1) 
plot(x,y,'k');grid 
xlabel(' X (m)') 
ylabel(' Y (m)') 
legend('trajetoria') 
 
5 – Determinar o espaço de trabalho do robô de dois graus de liberdade 
(2gdl), quando o motor girar de 0 a 360 graus e a altura deslocar de 0 à 
0,6 m. 
 
-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
 X (m)
 Y
 (
m
)
 
 
trajetoria
% Espaço de trabalho - 2 gdl (360 graus e deslocamento de altura) 
 
clear all 
close all 
 
r = 0.5; 
 
rd = pi/180.0; 
g = 1/rd; 
 
dteta = 1*rd; 
h = 0.0; 
dh = 0.01; 
 
for j =1:1:60 
 
 teta = 0.0*rd; 
 
 for i = 1:1:360 
 z = h; 
 rav = [r*cos(teta);r*sin(teta);z]; 
 
 ravx(i,j) = rav(1);ravy(i,j) = rav(2); 
 ravz(i,j) = rav(3); 
 
 teta = teta + dteta; 
 end 
 h =h + dh; 
end 
 plot3(ravx,ravy,ravz); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
%legend('espaço de trabalho') 
 
6 – Determinar a trajetória do órgão efetuador (partícula A) do robô de 
2gdl, quando o motor girar de 0 a 900 graus com incremento de 1 grau e o 
fuso parte de h = 0. 
% Espaço de trabalho - 2 gdl (900 graus e deslocamento de altura) 
 
clear all 
close all 
r = 0.5; 
rd = pi/180.0; 
g = 1/rd; 
dteta = 1*rd; 
h = 0.0; 
dh = 0.0001; 
 teta = 0.0*rd; 
 for i = 1:1:900 
 z = h; 
 rav = [r*cos(teta);r*sin(teta);z]; 
 ravx(i) = rav(1); 
 ravy(i) = rav(2); 
 ravz(i) = rav(3); 
 teta = teta + dteta; 
 h =h + dh; 
end 
 plot3(ravx,ravy,ravz); grid; 
xlabel(' X (m)') 
-0.5
0
0.5
-0.5
0
0.5
0
0.2
0.4
0.6
0.8
 Z
 (
m
)
 X (m) Y (m)
ylabel(' Y (m)') 
zlabel(' Z (m)') 
%legend('trajetoria') 
 
7 – Determinar a trajetória do órgão efetuador do robô de 3 gdl, quando o 
motor girar de 0 a 900 graus com incremento de 1 grau, o fuso Z parte de 
h= 0 e o fuso Y parte de r = 0,1 m. 
 
% Espaço de trabalho - 3 gdl (900 graus e deslocamento de raio e altura) 
 
clear all 
close all 
 r = 0.1; 
dr = 0.001; 
rd = pi/180.0; 
-0.5
0
0.5
-0.5
0
0.5
0
0.02
0.04
0.06
0.08
0.1
 X (m) Y (m)
 Z
 (
m
)
g = 1/rd; 
dteta = 1*rd; 
h = 0.0; 
dh = 0.0001; 
teta = 0.0*rd; 
 
 for i = 1:1:900 
 z = h; 
 rav = [r*cos(teta);r*sin(teta);z]; 
 
 ravx(i) = rav(1); 
 ravy(i) = rav(2); 
 ravz(i) = rav(3); 
 
 teta = teta + dteta; 
 r = r+dr; 
 h =h + dh; 
end 
 
plot3(ravx,ravy,ravz,'k'); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
%legend('trajetoria') 
 
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
1
0
0.02
0.04
0.06
0.08
0.1
 X (m) Y (m)
 Z
 (
m
)
8 – Determinar o espaço de trabalho do robô esférico de dois graus de 
liberdade (2 gdl) mostrado abaixo, para e  variando de 0 a 360 graus 
com incremento de 1 grau e r = 0,5 m. 
 
% Espaço de trabalho - 2 gdl (teta e beta 360 graus) 
 
 
clear all 
close all 
 
r = 0.5; 
 
rd = pi/180.0; 
g = 1/rd; 
 
dteta = 1*rd; 
beta = 0.0*rd; 
dbeta = 1*rd; 
 
for j =1:1:360 
 
 teta = 0.0*rd; 
 
 for i = 1:1:360 
 
 rpv = [r*cos(beta)*cos(teta);r*sin(teta)*cos(beta);r*sin(beta)]; 
 
 rpvx(i,j) = rpv(1); 
 rpvy(i,j) = rpv(2); 
 rpvz(i,j) = rpv(3); 
 
 teta = teta + dteta; 
 end 
 beta = beta + dbeta; 
end 
 plot3(rpvx,rpvy,rpvz); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
 
9 – Determinar a trajetória do órgão efetuador do robô de 2 gdl, para 
e  variando de 0 a 90 graus com incremento de 1 grau e r = 0,5 m. 
% Espaço de trabalho - 2 gdl (teta e beta 90 graus) 
 
clear all 
close all 
 r = 0.5; 
rd = pi/180.0; 
g = 1/rd; 
dteta = 1*rd; 
beta = 0.0*rd; 
dbeta = 1*rd; 
 teta = 0.0*rd; 
 for i = 1:1:90 
-0.5
0
0.5
-0.5
0
0.5
-0.5
0
0.5
 Z
 (
m
)
 X (m) Y (m)
 rpv = [r*cos(beta)*cos(teta);r*sin(teta)*cos(beta);r*sin(beta)]; 
 rpvx(i) = rpv(1); 
 rpvy(i) = rpv(2); 
 rpvz(i) = rpv(3); 
 teta = teta + dteta; 
 beta = beta + dbeta; 
end 
 
plot3(rpvx,rpvy,rpvz); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
%legend('trajetoria') 
 
10 – Determinar a trajetória do órgão efetuador do robô de 3 gdl, mostrado 
abaixo, para e  variando de 0 a 60 graus com incremento de 1 grau e 
o raio inicial de 0,1 m. 
% Espaço de trabalho - 3 gdl (teta e beta 60 graus) 
 
clear all 
close all 
r = 0.1; 
dr = 0.01; 
rd = pi/180.0; 
g = 1/rd; 
0
0.1
0.2
0.3
0.4
0.5
0
0.1
0.2
0.3
0.4
0
0.1
0.2
0.3
0.4
0.5
 X (m) Y (m)
 Z
 (
m
)
dteta = 1*rd; 
beta = 0.0*rd; 
dbeta = 1*rd; 
 teta = 0.0*rd; 
 for i = 1:1:60 
 rpv = [r*cos(beta)*cos(teta);r*sin(teta)*cos(beta);r*sin(beta)]; 
 rpvx(i) = rpv(1); 
 rpvy(i) = rpv(2); 
 rpvz(i) = rpv(3); 
 teta = teta + dteta; 
 r = r + dr; 
 beta = beta + dbeta; 
end 
 plot3(rpvx,rpvy,rpvz,'k'); grid; 
xlabel(' X (m)') 
ylabel(' Y (m)') 
zlabel(' Z (m)') 
%legend('trajetoria') 
 
 
 
0.1
0.15
0.2
0.25
0.3
0.35
0
0.1
0.2
0.3
0.4
0
0.2
0.4
0.6
0.8
 X (m) Y (m)
 Z
 (
m
)
ATIVIDADE 4 
 
1 – Usar o módulo simulink do Matlab, realizar a seguinte soma e 
determinar sua densidade espectral de potência. 
 Y = 10sen(10t) + 20sen(20t) + 30sen(30t) 
 
 
 
2 – Determinar a resposta de um motor cc, com função de transferência 
dada por G(s) = 5/(s2 + 2s), à uma entrada degrau, usando o simulink 
 
 
 
 
 
 
 
 
VIBRAÇÃO FORCADA AMORTECIDA DE SISTEMAS DE UM GRAU 
DE LIBERDADE (1 GDL) 
 
A Figura 1 mostra o modelo de um sistema de 1 GDL, amortecido. 
 
 
Figura 1 – Modelo de um sistema de 1 GDL amortecido 
 
Fazendo o equilíbrio dinâmico do modelo de um sistema de 1 GDL, 
amortecido mostrado na Figura 1, conforme o DCL tem-se: 
 
120 0I m a IF F F F F F u+ =  + + + + = (1) 
 
Na direção x, tem-se de (1); 
 
( ) ( ) ( ) ( )mx t cx t kx t u t+ + = (2) 
onde: 
/n k m = - frequência circular natural do sistema (rad/s); 
m – massa do sistema (kg); 
k – constante de rigidez do sistema (é função do módulo de elasticidade de 
cada sistema) (N/m); 
c – coeficiente de amortecimento viscoso (Ns/m). 
 
A transformada de Laplace de 2) é: 
 
2( ) ( ) ( )ms cs k X s U s+ + = (3) 
 
De 3), tem-se a função de transferência do sistema: 
 
2
( ) 1
( )
( ) ( )
X s
G s
U s ms cs k
= =
+ +
 (3) 
 
3 – Dada a função de transferência do sistema da Figura 1, pela eq. 3), 
determinar a resposta x(t) do sistema para u(t) = 10sen(20t). Considerando: 
m = 1 kg; c = 2 Ns/m e k = 100 N/m 
 
 
 
4 – Dada a função de transferência do sistema da Figura 1, pela eq. 3), 
determinar usando o script do Matlab a resposta x(t) do sistema para u(t) = 
10sen(20t). 
%Programa massa-mola 
clear all 
close all 
m =1; 
c = 2; 
k = 100; 
n = [1]; 
d = [1 2 100]; 
t = 0; 
dt = 0.1; 
for i = 1:1:501; 
 u = 10*sin(20*t); 
 tv(i) = t; 
 uv(i) = u; 
 t = t + dt; 
end 
y = lsim(n,d,uv,tv); 
figure(1) 
plot(tv,uv);grid 
figure(2) 
plot(tv,y);grid 
 
 
ATIVIDADE 5 
 
DETERMINAÇÃO DA VAZÃO DE UM FLUIDO USANDO EQUAÇÃO 
DE BERNOULLI 
 
O reservatório da figura abaixo é mantido com nível constante de 
fluido H, na posição 1, por uma bomba. Pede-se determinar a vazão de 
fluido no duto de diâmetro D, na posição 2. 
 
Usando a equação de Bernoulli, nos pontos 1 e 2, tem-se: 
 
2 2
1 1 2 2
1 2
2 2
 1)
v p v p
z z
g g 
+ + = + +
 
Mas, 
 
1 1 20; 01 2 = ; z ; z v p p H= = =
 Logo, 
 
2
2
2 2
2
 = 2)
v
H v gH
g
= 
 
Substituindo a velocidade obtida em 2), em 3);tem-se a vazão. 
 
2
2 2 (
4
) 3)
D
Q v A v

= =
 
1 – Elaborar um programa computacional, para obter a vazão Q do fluido 
em função da altura H. Faca H variar de 1 m até 10 m com incremento de 
1 m, para D = 0,2 m. Mostre o resultado graficamente. 
%Programa vazão 
clear all; 
close all 
 d = 0.2; 
a = (pi*d^2)/4; 
g = 9.8; 
h = 1; 
dh = 1; 
for i = 1:1:10 
 v = sqrt(2*g*h); 
 q = v*a; 
 hv(i) = h; 
 qv(i) = q; 
 h = h+dh; 
end 
figure(1) 
plot(hv,qv);grid; 
xlabel(' Altura do reservatório') 
ylabel(' Vazão') 
 
 
 
2 - Elaborar um programa computacional, para obter a vazão Q do fluido 
em função da altura H e do diâmetro D. Faca H variar de 1 m até10 m com 
incremento de 1 m e D variar de 0,2 m até 1 m com incremento de 0,1 m.. 
Mostre o resultado graficamente. 
%Programa vazão com variação do diâmetro 
clear all; close all 
 d = 0.2; deltad = 0.001; g = 9.8; h = 1; 
deltah = 1; 
 for j = 1:1:800 
 h = 1; 
for i = 1:1:10 
 v = sqrt(2*g*h); 
 a = (pi*d^2)/4; 
 q = v*a; 
 hv(i,j) = h; 
 dv(i,j) = d; 
 qv(i,j) = q; 
 h = h+deltah; 
end 
 d = d + deltad; 
end 
figure(1) 
plot(hv,qv);grid; 
1 2 3 4 5 6 7 8 9 10
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
 Altura do reservatório
 V
a
z
ã
o
xlabel(' Altura do reservatório') 
ylabel(' Vazão') 
legend('d1','d2','.....','d800') 
figure(2) 
plot3(hv,dv,qv) 
 
 
1 2 3 4 5 6 7 8 9 10
0
2
4
6
8
10
12
 Altura do reservatório
 V
a
z
ã
o
 
 
d1
d2
.....
d800
0
2
4
6
8
10
0.2
0.4
0.6
0.8
1
0
2
4
6
8
10
12
DETERMINAÇÃO DA TAXA DE CALOR EM PAREDE DE UM 
FORNO INDUSTRIAL 
 
A parede de um forno industrial é construida em tijolo refratário de 
espessura “e” e a condutividade térmica k = 1,7 W/mk. Mediçoes efetuadas 
no regime estacionário revelaram temperaturas de 1400 e 1150 k, nas 
superfícies interna e externa da parede do forno. Qual a taxa de calor 
perdida através de uma parede com dimensões de: h = 0,5 m (altura), L = 
3,0 (comprimento), e e = 0,15 m (espessura). 
 
A transmissão de calor é por condução, e a taxa de calor por unidade de 
área é dada por: 
 
int. . = -k( ) 1)extT TT
qa k
x e
−
= −

 
Substituindo os dados em 1), tem-se: 
1150 1400
)
0,15
2-1,7( 2833 W/m 2)qa
−
= = 
E, q = qa(A) = 2833(0,5)(3,0) = 4250 W 
3 - Elaborar um programa computacional no matlab, considerando T
inicial de -250 k, com incremento de 10 k e determinar a taxa de calor q. 
%Programa taxa de calor 
clear all 
close all 
h = 0.5; 
l = 3; 
e = 0.15; 
k = 1.7; 
deltat = -250; 
ddeltat = 10; 
for i = 1:1:10 
 qa = -(k*deltat)/e; 
 a = h*l; 
 q = qa*a; 
 deltatv(i) = deltat; 
 qv(i)=q; 
 deltat = deltat + ddeltat; 
end 
figure(1) 
plot(deltatv,qv);grid; 
xlabel('Variação de Temperatura') 
ylabel('Calor perdido') 
 
 
-250 -240 -230 -220 -210 -200 -190 -180 -170 -160
2600
2800
3000
3200
3400
3600
3800
4000
4200
4400
Variação de Temperatura
C
a
lo
r 
p
e
rd
id
o
4 - Elaborar um programa computacional no matlab, considerando T
inicial de -250 k, com incremento de 10 k, a espessura inicial e = 0.15 m, 
com incremento de 0.05 m, e determinar a taxa de calor q. 
%Programa taxa de calor com variação da espessura de parede 
clear all 
close all 
 
h = 0.5; 
l = 3; 
e = 0.15; 
deltae = 0.05; 
 
k = 1.7; 
ddeltat = 10; 
 
for j=1:1:5 
 
 deltat = -250; 
 
for i = 1:1:10 
 qa = -(k*deltat)/e; 
 a = h*l; 
 q = qa*a; 
 deltatv(i,j) = deltat; 
 qv(i,j)=q; 
 ev(i,j)=e; 
 deltat = deltat + ddeltat; 
end 
 e = e + deltae; 
end 
figure(1) 
plot(deltatv,qv);grid; 
xlabel('Variação de Temperatura') 
ylabel('Calor perdido') 
legend('e1', 'e2', 'e3', 'e4', 'e5') 
figure(2) 
plot3(deltatv,ev,qv);grid; 
 
 
 
 
 
 
 
 
 
 
-250 -240 -230 -220 -210 -200 -190 -180 -170 -160
1000
1500
2000
2500
3000
3500
4000
4500
Variação de Temperatura
C
a
lo
r 
p
e
rd
id
o
 
 
e1
e2
e3
e4
e5
-260
-240
-220
-200
-180
-160
0.1
0.2
0.3
0.4
0.5
1000
2000
3000
4000
5000
ATIVIDADE 6 
 
DETERMINAÇÃO DE FORÇAS EM UMA VIGA SUBMETIDA A 
CARREGAMENTO 
 
A figura A abaixo mostra uma viga submetida a um carregamento 
concentrado. Pede-se determinar a reação no rolete B. 
Do Diagrama de Corpo Livre (DCL) da Figura B, tem-se: 
 
0
/aP L
 =  
= −
 A B B
B
 M =0 AC x P + AB x R a i x -P j+L i x R j = 0
 R
 
 
 
 
 
1 - Elaborar um programa computacional no matlab, considerando P = 
1000 N, L = 0.8 m, “a” inicial igual a 0,2 m, com incremento de 0,1 m e 
determinar a reação no apoio B. 
 
%Programa viga 
 
clear all 
close all 
 
a = 0.2; 
deltaa = 0.1; 
p = 1000.0; 
l = 0.8; 
 
for i = 1:1:7; 
 av = [a;0;0]; 
 pv = [0;-p;0]; 
 m1 = cross(av,pv); 
 rby = -m1(3)/l; 
 rbv = [0;rby;0]; 
 rav = -rbv-pv; 
 avv(i) = av(1); 
 rbvv(i) = rbv(2); 
 a = a + deltaa; 
end 
figure(1) 
plot(avv,rbvv);grid 
xlabel(' Variação do ponto de aplicação da carga') 
ylabel(' Reação no apoio B') 
 
 
 
2 – Elaborar um programa computacional no matlab, considerando P inicial 
igual a 1000 N, com incremento de 100 N, L = 0.8 m, “a” inicial igual a 
0,2 m, com incremento de 0,1 m e determinar a reação no apoio B. 
 
%Programa viga com variação da carga 
 
clear all 
close all 
 
a = 0.2; 
deltaa = 0.1; 
p = 1000.0; 
deltap = 100.0; 
l = 0.8; 
for j =1:1:5 
 a = 0.2; 
for i = 1:1:7; 
 av = [a;0;0]; 
 pv = [0;-p;0]; 
 m1 = cross(av,pv); 
 rby = -m1(3)/l; 
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
200
300
400
500
600
700
800
900
1000
 Variação do ponto de aplicação da carga
 R
e
a
ç
ã
o
 n
o
 a
p
o
io
 B
 rbv = [0;rby;0]; 
 rav = -rbv-pv; 
 avv(i,j) = av(1); 
 rbvv(i,j) = rbv(2); 
 a = a + deltaa; 
end 
p = p + deltap; 
end 
figure(1) 
plot(avv,rbvv); grid 
xlabel(' Variação do ponto de aplicação da carga') 
ylabel(' Reação no apoio B') 
legend('P1','P2','P3','P4','P5') 
 
 
 
 
 
 
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
200
400
600
800
1000
1200
1400
 Variação do ponto de aplicação da carga
 R
e
a
ç
ã
o
 n
o
 a
p
o
io
 B
 
 
P1
P2
P3
P4
P5
A figura abaixo mostra uma viga engastada na extremidade direita e 
livre na esquerda. Na extremidade livre atua uma carga concentrada W. A 
equação da deflexão “y” da viga é dada abaixo. 
 
 ( )− +3 2 3W
 y = x 3L x-2L
6EI
 
 
3 – Elaborar um programa computacional, para obter a deflexão “y” da 
viga em função do comprimento x . Faca x variar de 0 m até 1 m com 
incremento de 0,1 m, considerando: E = 2.109 N/m2 , I = 0,5 m4 , W = 3000 
N. Mostre o resultado graficamente. 
 
%Programa deflexão da viga 
 
l = 1.0; %em m 
me = 2e9; %módulo de elasticidade 
mi = 0.5; %momento de inércia 
w = 3000.0; %carga concentrada 
deltax = 0.1; 
 
 x = 0.0; 
for j = 1:1:11; 
 y =(w/(6*me*mi))*(-x^3+3*l^2*x-2*l^3); 
 xv(j) = x; 
 yv(j) = y; 
 miv(j) = mi; 
 x = x+deltax; 
end 
 
 
figure(1) 
plot(xv,yv);grid; 
xlabel('comprimento (m)') 
ylabel('deflexão (m)') 
 
 
 
4 – Elaborar um programa computacional, para obter a deflexão “y” da 
viga em função do comprimento x e do momento de inércia I. Faca x variar 
de 0 m até 1 m com incremento de 0,1 m, I variar de 0,5 m4 até 0,8 m4, 
considerando: E = 2.109 N/m2 , I = 0,5 m4 , W = 3000 N. Mostre o 
resultado graficamente. 
 
%Programa deflexão da viga com variação do momento de inércia 
 
clear all 
close all 
 
l = 1.0; %em m 
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
x 10
-6
comprimento (m)
d
e
fl
e
x
ã
o
 (
m
)
me = 2e9; %módulo de elasticidade 
mi = 0.5; %momento de inércia 
w = 3000.0; %carga concentrada 
deltax = 0.1; 
deltami = -0.1; 
 
for i = 1:1:3; 
 x = 0.0; 
for j = 1:1:11; 
 y =(w/(6*me*mi))*(-x^3+3*l^2*x-2*l^3); 
 xv(j,i) = x; 
 yv(j,i) = y; 
 miv(j,i) = mi; 
 x = x+deltax; 
end 
mi = mi+deltami; 
end 
 
figure(1) 
plot(xv,yv);grid; 
xlabel('comprimento(m)') 
ylabel('deflexão(m)') 
 
figure(2) 
plot3(xv,miv,yv);grid; 
xlabel('comprimento(m)') 
ylabel('momento de inércia(m^4)') 
zlabel('deflexão(m)') 
 
 
 
 
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
x 10
-6
comprimento(m)
d
e
fl
e
x
ã
o
(m
)
0
0.2
0.4
0.6
0.8
1
0.35
0.4
0.45
0.5
-2
-1.5
-1
-0.5
0
x 10
-6
comprimento(m)momento de inércia(m4)
d
e
fl
e
x
ã
o
(m
)
A figura abaixo mostra uma viga engastadana extremidade direita e 
livre na esquerda, submetida a um carregamento distribuído w. A equação 
da deflexão “y” da viga é dada abaixo. 
 
 ( )− +
4 3 4w x L x L
 y = - 
E I 24 6 8
 
 
 
5 – Elaborar um programa computacional, para obter a deflexão “y” da 
viga em função do comprimento x. Faca x variar de 0 m até 1 m com 
incremento de 0,1 m, considerando: E = 200.109 N/m2 , I = 0,5 m4 , W = 
3000 N. Mostre o resultado graficamente. 
 
 
%Programa viga carregamento distribuído 
 
clear all 
close all 
 
l = 1.0; %em m 
me = 200e9; %módulo de elasticidade 
mi = 0.5; %momento de inércia 
w = 3000.0; %carga concentrada 
deltax = 0.1; 
 x = 0.0; 
for j = 1:1:11; 
 y =(w/(me*mi))*((-x^4/24)+((l^3)*x/6)-(l^4/8)); 
 xv(j) = x; 
 yv(j) = y; 
 miv(j) = mi; 
 x = x+deltax; 
end 
 
 
figure(1) 
plot(xv,yv);grid; 
xlabel('comprimento (m)') 
ylabel('deflexão (m)') 
 
 
 
 
6 - Elaborar um programa computacional, para obter a deflexão “y” da viga 
em função do comprimento x e de w. Faca x variar de 0 m até 1 m com 
incremento de 0,1 m, sendo w inicial igual a 3000 N e deltaw = 1000 N, 
considerando: E = 200.109 N/m2 , I = 0,5 m4 . Mostre o resultado 
graficamente. 
 
 
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
x 10
-9
comprimento (m)
d
e
fl
e
x
ã
o
 (
m
)
%Programa viga carregamento distribuído e variação da carga 
 
clear all 
close all 
 
l = 1.0; %em m 
me = 200e9; %módulo de elasticidade 
mi = 0.5; %momento de inércia 
w = 3000.0; %carga distribuida 
deltaw = 1000; 
deltax = 0.1; 
 
for j = 1:1:6 
 x = 0.0; 
for i = 1:1:11; 
 y =(w/(me*mi))*((-x^4/24)+((l^3)*x/6)-(l^4/8)); 
 xv(i,j) = x; 
 yv(i,j) = y; 
 wv(i,j) = w; 
 x = x+deltax; 
end 
w = w + deltaw; 
end 
 
figure(1) 
plot(xv,yv);grid; 
xlabel('comprimento (m)') 
ylabel('deflexão (m)') 
 
figure(2) 
plot3(xv,wv,yv);grid; 
 
 
 
 
 
 
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
x 10
-8
comprimento (m)
d
e
fl
e
x
ã
o
 (
m
)
0
0.2
0.4
0.6
0.8
1
2000
4000
6000
8000
-1
-0.8
-0.6
-0.4
-0.2
0
x 10
-8
ATIVIDADE 7 
 
 
O movimento retilineo uniformemente variado (mruv) é descrito 
pelas equações abaixo: 
 
 
2
0 0 0,5
at
x x v t at
+
= + +
0
 a = k ( constante)
v = v 
 
 
1 - Faça a = 10 m/s2 , v0 = 0 e x0 = 0 e considere t inicial igual a zero, com 
incremento de 0,1 seg e contrua os gráficos de a, v e x em função do tempo 
t. Grave o tempo, a velocidade e o deslocamento em um arquivo de dados. 
 
 
%Programa mruv 
 
clear all 
close all 
 
 
a = 1; 
vo = 0; 
xo = 0; 
 
t = 0; 
dt = 0.1; 
 
 
for i = 1:1:50; 
 a = 10; 
 v = vo+a*t; 
 x = xo+vo*t+0.5*a*t^2; 
 
 xv(i) = x; 
 av(i) = a; 
 vv(i) = v; 
 tv(i) = t; 
 t = t + dt; 
end 
 
figure(1) 
plot(tv,av,tv,vv,tv,xv);grid; 
legend('a','v','x') 
figure(2) 
plot3(tv,vv,xv);grid; 
 
 resul = [tv' vv' xv']; 
 
save resultado.dat resul -ascii 
 
 
 
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
20
40
60
80
100
120
140
 
 
a
v
x
 
 
2 – Faça a leitura do arquivo de dados do programa anterior e construa o 
gráfico da velocidade e do deslocamento em função do tempo. 
 
% Leitura de arquivo de dados 
 
clear all 
close all 
 
load resultado.dat 
 
 t = resultado(:,1); 
 
 v = resultado(:,2); 
 
 x = resultado(:,3); 
 
figure(1) 
plot(t,v,t,x);grid; 
 
figure(2) 
plot3(t,v,x);grid; 
 
0
1
2
3
4
5
0
20
40
60
0
50
100
150
GEOMETRIA DO MOVIMENTO DO MECANISMO CURSOR-
MANIVELA 
 
A Figura 2.1, mostra as linhas de centro das peças do mecanismo 
cursor-manivela. O objetivo é a determinação da posição angular da biela 
(peça 3) e a posição linear do centro do cursor (peça 4), em função da 
posição angular da manivela (peça 2), e dos comprimentos O2A = r2, da 
manivela e AB = r3, da biela. 
 
A Figura 2.1 – Mecanismo cursor - manivela 
 
 A Figura 2.2, mostra o polígono de vetores construído a partir da 
Fig. 2.1, que será usado para obtenção da posição angular da biela (peça 3) 
e a posição linear do centro do cursor (peça 4). 
 
Figura 2.2 – Polígono de vetores do mecanismo cursor - manivela 
 
 A solução é obtida vetorialmente, considerando os vetores e a base 
ortonormal da Fig. 2.2. Da adição dos vetores, tem-se: 
 
 r2 + r3 = rB 2) 
 
Escrevendo 2) em função das componentes de cada vetor, tem-se: 
 
 










=










+










0
0
0
)(
)cos(
0
)(
)cos(
33
33
22
22 Br
senr
r
senr
r
 




 3) 
 
Separando as componentes de 3) segundo os eixos X e Y, tem-se: 
 
 
4) BrrrX =+ )cos()cos(: 3322 
 
 
 0)()(: 3322 =+  senrsenrY 5) 
 
Do sistema de equações 4) e 5), tem-se da Eq. 6): 
 
 ))( 2
3
2
3  sen
r
r
(-sen 1-= 6) 
 
Substituindo ϴ3 obtido em 6) em 4), tem-se: 
 
 7) )cos()cos( 3322  rrrB += 
3 – Elaborar um programa computacional para análise da geometria do 
movimento do mecanismo cursor – manivela, em um ciclo de movimento 
da manivela (peça 2). Mostrar os resultados graficamente. 
% Programa Cursor- Manivela 
 
clear all; 
close all; 
format long e 
 r2 = 0.10; 
r3 = 0.20; 
 convrd=pi/180; 
convg=1/convrd; 
teta2=0.0*convrd; 
dteta2 = 0.5*convrd; 
 
 
 for i = 1:1:720; 
 r2v = [r2*cos(teta2);r2*sin(teta2);0]; 
 teta3 = asin((-r2v(2)/r3)); 
 r3v = [r3*cos(teta3);r3*sin(teta3);0]; 
 rbv = r2v + r3v; 
 teta3v(i) = teta3*convg; 
 rbvx(i) = rbv(1); 
 teta2v(i) = teta2*convg; 
 teta2 = teta2 + dteta2; 
 end 
 
 % curso do cursor 
 
 sx = max(rbvx)-min(rbvx) 
 
figure(1) 
plot(teta2v,teta3v);grid 
xlabel('teta2 (graus)') 
ylabel('teta3 (graus)') 
 
figure(2) 
plot(teta2v,rbvx);grid 
xlabel('teta2 (graus)') 
ylabel('rb (m)') 
 
 
 
0 50 100 150 200 250 300 350 400
-40
-30
-20
-10
0
10
20
30
teta2 (graus)
te
ta
3
 (
g
ra
u
s
)
0 50 100 150 200 250 300 350 400
0.1
0.15
0.2
0.25
0.3
0.35
teta2 (graus)
rb
 (
m
)
4 – Elaborar um programa computacional para análise da geometria do 
movimento do mecanismo cursor – manivela, em um ciclo de movimento 
da manivela (peça 2). Faça também a variação no comprimento da 
manivela. Mostrar os resultados graficamente. 
 
% Programa Cursor- Manivela com variação de comprimento da manivela 
 
clear all; 
close all; 
format long e 
 r2 = 0.10; 
 dr2 = 0.01; 
r3 = 0.20; 
 convrd=pi/180; 
convg=1/convrd; 
teta2=0.0*convrd; 
dteta2 = 0.5*convrd; 
 
 for j = 1:1:6 
 
teta2=0.0*convrd; 
 for i = 1:1:720; 
 r2v = [r2*cos(teta2);r2*sin(teta2);0]; 
 teta3 = asin((-r2v(2)/r3)); 
 r3v = [r3*cos(teta3);r3*sin(teta3);0]; 
 rbv = r2v + r3v; 
 teta3v(i,j) = teta3*convg; 
 rbvx(i,j) = rbv(1); 
 teta2v(i,j) = teta2*convg; 
 teta2 = teta2 + dteta2; 
 end 
 r2 = r2 + dr2 
 end 
 % curso do cursor 
 
 sx = max(rbvx)-min(rbvx) 
 
figure(1) 
plot(teta2v,teta3v);grid 
xlabel('teta2 (graus)') 
ylabel('teta3 (graus)') 
 
figure(2) 
plot(teta2v,rbvx);grid 
xlabel('teta2 (graus)') 
ylabel('rb (m)') 
 
 
 
 
 
0 50 100 150 200 250 300 350 400
-50
-40
-30
-20
-10
0
10
20
30
40
50
teta2 (graus)
te
ta
3
 (
g
ra
u
s
)
0 50 100 150 200 250 300 350 400
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
teta2 (graus)
rb
 (
m
)
ATIVIDADE 8 
 
REPRESENTAÇÃO DE SISTEMAS DINÂMICOS NO ESPAÇO DE 
ESTADOSUm sistema dinâmico pode ser representado por um modelo, através 
de equações diferenciais ordinárias, onde o tempo é a variável 
independente. 
Uma equação diferencial de ordem n pode ser representada por uma 
equação matricial-vetorial diferencial de primeira ordem. Se os n elementos 
do vetor são um conjunto de variáveis de estado, então a equação matricial-
vetorial diferencial é chamada de equação de estado. 
 
REPRESENTAÇÃO NO ESPAÇO DE ESTADOS DE SISTEMAS 
DESCRITOS POR EQUAÇÕES DIFERENCIAIS LINEARES DE 
ORDEM n SEM DERIVADAS DE EXCITAÇÃO 
 
Considere o sistema representado pelo modelo de ordem n abaixo: 
 
 
 1) 
 
 
De 1); 
 
 
2) 
 
 
)()(
)(
....
)()(
011
1
1 tgtya
dt
tdy
a
dt
tyd
a
dt
tyd
n
n
nn
n
=++++
−
−
−
)()(
)(
...
)()(
011
1
1 tgtya
dt
tdy
a
dt
tyd
a
dt
tyd
n
n
nn
n
+−−−−=
−
−
−
Definindo n (número da ordem da equação diferencial original) 
novas variáveis, x1(t), x2(t),...., xn(t), pelas equações: 
 
1
1
2
2
321
)(
)(,
)(
)(,
)(
)(),()(
−
−
====
n
n
n
dt
tyd
tx
dt
tdy
tx
dt
tdy
txtytx ,.......... 3) 
 
As novas variáveis de 3) são interligadas pelas equações 4). 
 
 










=
=
=
=
− )()(
..................
..................
)()(
)()(
)()(
1
43
32
21
txtx
txtx
txtx
txtx
nn




 4) 
 
Escrevendo a Eq. 2) em função das novas variáveis dadas por 3); 
 
 )()()(...)(
)(
10211 tgtxatxatxa
dt
tyd
nnn
n
+−−−−= −
 5) 
 
Diferenciando a última equação de 3); 
 
n
n
n
n
nn
n
n
dt
tyd
dt
tyd
dt
d
tx
dt
tyd
tx
)(
]
)(
[)(
)(
)(
1
1
1
1
===
−
−
−
−
  6) 
 
Usando 6) em 5); 
 
 )()()(...)( 10211 tgtxatxatxax nnn +−−−−= −
 7) 
 
Adicionando 7) em 4); 
 
 











+−−−−=
=
=
=
=
−
−
)()()(...)(
)()(
..................
..................
)()(
)()(
)()(
10211
1
43
32
21
tgtxatxatxax
txtx
txtx
txtx
txtx
nnn
nn





 8) 
 
 
Escrevendo 8) na forma matricial: 
 
 
)(
1
0
.
.
.
0
0
0
.
.
.
...
10..0000
........
........
........
00..1000
00..0100
00..0010
.
.
.
1
3
2
1
13210
1
3
2
1
tg
x
x
x
x
x
aaaaax
x
x
x
x
n
n
nn
n


























+




















































−−−−
=


























−
−
−





 9) 
 
 
 Ou de 9): 
 
 
( ) ou,X AX Bg t
X AX Bu
= +
= +
 10) 
 
Onde: X – Vetor de Estados 
 A – Matriz Dinâmica 
 B – Matriz de Entrada 
 u – entrada ou excitação 
 
A saída ou resposta Y(t) (variável original) é dada por: 
 
 Y(t) = Cx + Du 11) 
 
C e D – Matrizes de Saída 
 
 
VIBRAÇÃO LIVRE E FORCADA AMORTECIDA DE SISTEMAS DE 
UM GRAU DE LIBERDADE (1 GDL) 
 
A Figura 1 mostra o modelo de um sistema de 1 GDL, amortecido. 
 
 
Figura 1 – Modelo de um sistema de 1 GDL amortecido 
Fazendo o equilíbrio dinâmico do modelo de um sistema de 1 GDL, 
amortecido mostrado na Figura 1, conforme o DCL tem-se: 
 
120 0I m a IF F F F F F u+ =  + + + + = (1) 
 
Na direção x, tem-se de (1); 
( ) ( ) ( ) ( )
( ( ) ( ) ( ))
( )
mx t cx t kx t u t
kx t cx t u t
x t
m
+ + = 
− − +
=
 (2) 
onde: 
/n k m = - frequência circular natural do sistema (rad/s); 
m – massa do sistema (kg); 
k – constante de rigidez do sistema (é função do módulo de elasticidade de 
cada sistema) (N/m); 
c – coeficiente de amortecimento viscoso (Ns/m). 
 
Transformar a Eq. 2) para a forma de espaço de estados e mostrar as 
matrizes A, B, C e D. 
 
 A equação de estados é da forma: 
 X AX Bu= + 
Definindo as variáveis de estado como segue: 
 
1 2 e x x x x= = (3) 
 
Usando (3) e (2), tem-se: 
 
 
1 2
2 1 2
1
x x
k c
x x x u
m m m
=


= − − +

 (4) 
 
Escrevendo 4) na forma matricial, tem-se: 
 
 
 
 
Onde: 
 
0 1 0
; 1
 
 
 
A Bk c
m m m
   
   = =
   − −
      
 
 
A saída é dada por: 
 
Y CX Du= + 
 
Ou seja; 
 
   1 1
2 2
1 0 1 0
0 0
0 1 0 1
 
 
y x x
u u
y x x
        
= + = +        
        
 
 
Onde: 
 
1 0
[0]
0 1
 
 e 
 
C D
 
= = 
 
 
 
 
 
1 - Dadas as matrizes A, B, C e D, do sistema da Figura 1, do item 2, 
elaborar um programa computacional, e determinar: 
 
a) A resposta forçada x(t) do sistema para u(t) = 10sen(20t); 
 
b) A resposta forçada x(t) do sistema para u(t) = 10sen(10t); 
 
 1 1
2 2
0 1 0
1
 
 
x x
uk c
x x
m m m
   
      = +      − −         
c) A resposta livre x(t) do sistema com amortecimento; 
 
d) A resposta livre x(t) do sistema sem amortecimento; 
 
Considerando: m = 1 kg; c = 2 Ns/m e k = 100 N/m 
 
%Programa massa-mola-amortecedor (letra a) 1gdl 
clear all 
close all 
 
m = 1.0; 
ca = 2.0; 
k = 100.0; 
 
a = [0 1;-k/m -ca/m]; 
 
b = [0;1/m]; 
 
c = [1 0]; 
 
d = [0]; 
 
xo = [0.1 0]; 
 t = 0.0; 
dt = 0.05; 
 for i = 1:1:500; 
 u = 10*sin(20*t); 
 tv(i) = t; 
 uv(i) = u; 
 t = t+dt; 
end 
 
y = lsim(a,b,c,d,uv,tv,xo); 
 
figure(1) 
plot(tv,uv);grid; 
figure(2) 
plot(tv,y);grid; 
 
ATIVIDADE 9 
 
A Figura 1 mostra um Sistema de 2 GDL com uma força de 
excitação nas duas massas. 
 
 
Figura 1 – Sistema de 2 GDL 
 
 
Do DCL do sistema, tem-se: 
 
1 1 1 2 1
2 2 1 2 2
2
2
mx cx kx kx u
mx cx kx kx u
+ + − =


 + − + =
 (1) 
 
Transformar (1) para a forma de espaço de estados e mostrar as matrizes A, 
B, C e D. 
Representando (1) na forma de Espaço de Estados, com a mudança de 
variáveis como (2); 
 
1 1 2 1 3 2 4 2y x y x y x e y x= = = = , , (2) 
 
Tem-se de (1): 
 
1 2
2 1 2 3 1
 
2 1
y y
k c k
y y y y u
m m m m
=
= − − + +
 
 
3 4
4 1 3 4 2
2 1
y y
k k c
y y y y u
m m m m
=
= − − +
 (3) 
 
Escrevendo 3) na forma matricial, chega-se em 4). 
 
1 1
2 2 1
3 3 2
4 4
0 1 0 0
0 02
0
1/ 0
0 0 0 1 0 0
2 0 1/
0
y yk c k
y y umm m m
y y u
k k c my y
m m m
 
      − −
      
       = +                
− −         
  
 4) 
 
A saída é dada por: Z = CY, dada por 5). 
 
1 1
2 2
3 3
4 4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
z y
z y
z y
z y
    
    
    =
    
    
       
 5) 
 
 
1 - Dadas as matrizes A, B, C e D, do sistema da Figura 1, do item 2, 
elaborar um programa computacional, e determinar: 
 
a) A resposta forçada x(t) do sistema para u1(t) = 10sen(20t) e 
u2(t) = 5sen(15t); 
 
b) A resposta livre x(t) do sistema com amortecimento; 
 
c) A resposta livre x(t) do sistema sem amortecimento; 
 
Considerando: m = 1 kg; c = 2 Ns/m e k = 100 N/m 
 
%Programa massa-mola-amortecedor (letra a) 2gdl 
 
clear all 
close all 
 
m = 1.0; 
ca = 2.0; 
k = 100.0; 
 
a = [0 1 0 0;(-2*k)/m -ca/m k/m 0;0 0 0 1;k/m 0 (-2*k)/m -ca/m]; 
b = [0 0;1/m 0;0 0;0 1/m]; 
c = [1 0 0 0;0 0 1 0]; 
 
c1 = [1 0 0 0]; 
c2 = [0 0 1 0]; 
d = [0];xo = [0.1 0 0.2 0]; 
 
t = 0.0; 
dt = 0.05; 
 
for i = 1:1:500; 
 u1 = 10*sin(20*t); 
 u2 = 5*sin(15*t); 
 tv(i) = t; 
 u1v(i) = u1; 
 u2v(i) = u2; 
 t = t+dt; 
end 
 u = [u1v;u2v]; 
 
 y = lsim(a,b,c,d,u,tv,xo); 
y1 = lsim(a,b,c1,d,u,tv,xo); 
y2 = lsim(a,b,c2,d,u,tv,xo); 
 
figure(1) 
plot(tv,u1v,tv,u2v);grid; 
 
figure(2) 
plot(tv,y);grid; 
legend('x1', 'x2') 
 
figure(3) 
plot(tv,y1,tv,y2);grid; 
 
 
 
 
ATIVIDADE 10 
 
A Figura 1 mostra um pêndulo simples e seu DCL. Analisando as 
forças na direção tangencial, tem-se: 
 
0IF F+ =  
 
: 0 0It Wsen F Wsen mL  − − =  − − =  
 
0mL Wsen + =  
 
 
 0
g
sen
L
 + = (1) 
 
 
 
Figura 1 - Pendulo simples 
 
A equação (1) é uma EDM de 2a ordem, de coeficientes constantes, 
homogênea e não linear. Linearizando (1); ou seja, considerando pequenos 
deslocamentos angulares, tem-se: 
 
sen  (2) 
 
Substituindo (2) em (1); 
 
0
g
L
 + = (3) 
 
E, 
2
2n
n
g L
e
L g

   

= =  = (4) 
 
A EDM (3) é de 2a ordem, de coeficientes constantes, homogênea e linear. 
Transformar a Eq. 1) e a Eq. 3) para a forma de espaço de estados. 
Definindo como variáveis de estados: 
 
(1) e y(2) 5)y  = =
 
 
Usando 5) e 1), tem-se: 
 
 
(1) (2)
 
(2) = - ( (1))
 
y y
g
y sen y
L

 =





 6) 
Usando 5) e 3), tem-se: 
 
(1) (2)
 
(2) = - ( (1))
 
y y
g
y y
L

 =





 7) 
 
1 - Elaborar um programa computacional para resolver 6) e 7), 
considerando g/L = 20,0. 
 
%Função 'se' das derivadas (linear) 
function dx=se(t,y) 
dx=[y(2);-20*y(1)]; % g/L = 20 
 
%Função 'se1' das derivadas (não linear) 
function dx=se1(t,y) 
dx=[y(2);-20*sin(y(1))]; 
 
%Programa pêndulo 
clear all 
close all 
 t0 = 0; 
dt = 0.1; 
tf = 2; 
 x0 = [0.8 0]; 
 [t y1] = ode45('se', [t0:dt:tf], x0); % modelo linear 
 [t y2] = ode45('se1', [t0:dt:tf], x0); % modelo não linear 
 figure(1) 
plot(t,y1(:,1),'k',t,y2(:,1),'r') 
legend('Solução Linear','Solução Não Linear') 
 
 
 
 
 
 
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
 
 
Solução Linear
Solução Não Linear
ATIVIDADE 11 
 
Transformar a Eq. (1) para a forma de espaço de estados e mostrar as 
matrizes A, B, C e D. 
 100 20x x x u+ + = 
(1) 
 
Representando (1) na forma de Espaço de Estados, com a mudança 
de variáveis como (2); 
 
1 2 3 4x x x x x x e x x= = = = , , (2) 
 
Tem-se de (1): 
 
1 2
2 3
3 4
4 1 3
 
20 100
x x
x x
x x
x x x u
=

=

=
 = − − +
 (3) 
 
Escrevendo 3) na forma matricial, chega-se em 4). 
 
 
1 1
2 2
3 3
4 4
0 1 0 0 0 
0 0 1 0 0
0 0 0 1 0 
20 0 100 0 1
x x
x x
u
x x
x x
      
      
      = +
      
      
− −         
 4) 
 
A saída é dada por: Y = CX, dada por 5). 
 
1 1
2 2
3 3
4 4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
y x
y x
y x
y x
    
    
    =
    
    
       
 5) 
 
1 - Dadas as matrizes A, B, C e D, das equações 4) e 5), do item 1, elaborar 
um programa computacional, considerando nulas as condições iniciais, 
determinar: 
 
a) A resposta forçada x(t) de 1) para u(t) = 10sen(2t); 
b) A resposta livre x(t) de 1). 
 
%Programa EDO de quarta ordem 
 
clear all 
close all 
 
a = [0 1 0 0;0 0 1 0;0 0 0 1;-20 0 -100 0]; 
 b = [0;0;0;1]; 
 c = [1 0 0 0]; 
d = [0]; 
 
xo = [0 0 0 0]; 
 
t = 0.0; 
dt = 0.1; 
 
for i = 1:1:140; 
 u = 10*sin(2*t); 
 
 tv(i) = t; 
 uv(i) = u; 
 t = t+dt; 
end 
 
 y = lsim(a,b,c,d,uv,tv,xo); 
 figure(1) 
plot(tv,uv);grid; 
 figure(2) 
plot(tv,y);grid; 
legend('x') 
Resposta a) 
 
 
 
0 2 4 6 8 10 12 14
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
 
 
x
0 5 10 15 20 25 30
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
 
 
x

Continue navegando