Você está na página 1de 78

- APOSTILA -

(MÉTODOS COMPUTACIONAIS APLICADOS À ENGENHARIA)


ATIVIDADE 1

1- Dadas as matrizes A e B:

Onde:
1 2 −2 −1 4 −5
𝐴 = [ 1 0 3 ], 𝐵 = [ 10 −3 2 ];
−4 5 10 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   −4 
2- Dados os vetores G1 = 3  e G2 =  −2
 
 −2   2 

Determinar:

Os produtos vetoriais:
h1 = G1  G2 e h2 = G2  G1

O módulo de h1

O produto escalar:

gg = G1 . G2

%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:

p( x)= x5 + 3x 4 - 7 x3 - 3x + 1

Determinar suas raízes.

Resolver as seguintes equaçoes:

-x2 + 2 = 0 e x2 − 2 = 0

%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
{ (1)
𝑥 + 3𝑦 − 𝑧 − 4𝑤 = −4
4𝑥 − 𝑦 + 3𝑧 − 𝑤 = −5

O sistema (1) escrito na forma matricial é dado por (2).

 1 1 −3 1   x   7 
 −2 −1 1 4   y   9 
   =   (2)
 1 3 −1 −4   z   −4
    
 4 −1 3 −1  w  −5

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'
40
y1
35 ý2

30

25

20

y 15

10

0
-4 -2 0 2 4 6
x

2 - Dada a função z = xy 2 , 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
plot3(xv,yv,zv,'k'); grid;
xlabel(' X (m)')
ylabel(' Y (m)')
zlabel(' Z (m)')

2000

1500
Z (m)

1000

500

0
10
20
5 15
10
5
Y (m) 0 0
X (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
figure(1)
plot(tv,uv);grid;
xlabel('Tempo (s)')
ylabel('Força (N)')

10

6
Força (N)

0
0 10 20 30 40 50
Tempo (s)

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;
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')

4
Referencia
2

0
Referencia (N)

-2

-4

-6

-8

-10
0 1 2 3 4 5 6 7 8
Tempo (s)
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')
0.3
espaço de trabalho

0.2

0.1

0
Y (m)

-0.1

-0.2

-0.3

-0.4
-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3
X (m)

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)')
ylabel(' Y (m)')
legend('trajetoria')

0.35
trajetoria

0.3

0.25

0.2
Y (m)

0.15

0.1

0.05

0
-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3
X (m)

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.
% 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')
0.4
espaço de trabalho
0.3

0.2

0.1
Y (m)

-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)

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;
r = r + dr;
end
figure(1)
plot(x,y,'k');grid
xlabel(' X (m)')
ylabel(' Y (m)')
legend('trajetoria')
0.2
trajetoria
0.18

0.16

0.14

0.12
Y (m)

0.1

0.08

0.06

0.04

0.02

0
-0.02 0 0.02 0.04 0.06 0.08 0.1 0.12
X (m)

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.
% 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')
0.8

0.6
Z (m)

0.4

0.2

0
0.5
0.5
0
0

Y (m) -0.5 -0.5


X (m)

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)')
ylabel(' Y (m)')
zlabel(' Z (m)')
%legend('trajetoria')

0.1

0.08

0.06
Z (m)

0.04

0.02

0
0.5
0.5
0
0

Y (m) -0.5 -0.5


X (m)

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;
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')

0.1

0.08

0.06
Z (m)

0.04

0.02

0
1
0.5 1
0 0.5
0
-0.5 -0.5
Y (m) -1 -1
X (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)')

0.5
Z (m)

-0.5
0.5
0.5
0
0

Y (m) -0.5 -0.5


X (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
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')

0.5

0.4

0.3
Z (m)

0.2

0.1

0
0.4
0.3 0.5
0.4
0.2 0.3
0.1 0.2
0.1
Y (m) 0 0
X (m)

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;
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.8

0.6
Z (m)

0.4

0.2

0
0.4
0.3 0.35
0.3
0.2 0.25
0.1 0.2
0.15
Y (m) 0 0.1
X (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:

F + F I = 0  Fm + Fa + F12 + FI + u = 0 (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) é:

(ms 2 + cs + k ) X ( s ) = U ( s ) (3)

De 3), tem-se a função de transferência do sistema:

X ( s) 1
= G( s) = (3)
U ( s) (ms + cs + k )
2

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:

v12 p v2 p
+ z1 + 1 = 2 + z2 + 2 1)
2g  2g 

Mas,

v1 = 0; p1 = p2 ; z1 = H ; z 2 = 0

Logo,
v22
H=  v2 = 2 gH 2)
2g
Substituindo a velocidade obtida em 2), em 3);tem-se a vazão.

 D2
Q2 = v2 A = v( ) 3)
4

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')
0.5

0.45

0.4

0.35
Vazão

0.3

0.25

0.2

0.15

0.1
1 2 3 4 5 6 7 8 9 10
Altura do reservatório

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;
xlabel(' Altura do reservatório')
ylabel(' Vazão')
legend('d1','d2','.....','d800')
figure(2)
plot3(hv,dv,qv)

12
d1
d2
10 .....
d800

8
Vazão

0
1 2 3 4 5 6 7 8 9 10
Altura do reservatório

12

10

0
1
0.8 10
8
0.6 6
0.4 4
2
0.2 0
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:

T T −T
qa = −k = -k( int. ext . ) 1)
x e

Substituindo os dados em 1), tem-se:


1150 − 1400
qa = -1,7( ) = 2833 W/m2 2)
0,15

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')

4400

4200

4000

3800
Calor perdido

3600

3400

3200

3000

2800

2600
-250 -240 -230 -220 -210 -200 -190 -180 -170 -160
Variação de Temperatura
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;
4500
e1
e2
4000
e3
e4
3500 e5
Calor perdido

3000

2500

2000

1500

1000
-250 -240 -230 -220 -210 -200 -190 -180 -170 -160
Variação de Temperatura

5000

4000

3000

2000

1000
0.5
0.4 -160
-180
0.3 -200
0.2 -220
-240
0.1 -260
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:

M =0
A  AC x P + AB x R B = 0  a i x -P j+L i x R B j = 0 
R B = −aP / L
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')
1000

900

800
Reação no apoio B

700

600

500

400

300

200
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Variação do ponto de aplicação da carga

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;
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')

1400
P1
P2
1200 P3
P4
P5
1000
Reação no apoio B

800

600

400

200
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Variação do ponto de aplicação da carga
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.

W
y= (−x3 + 3L2 x-2L3 )
6E I

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)')

-6
x 10
0

-0.1

-0.2

-0.3

-0.4
deflexão (m)

-0.5

-0.6

-0.7

-0.8

-0.9

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
comprimento (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 m 4 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
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)')
-6
x 10
0

-0.2

-0.4

-0.6
deflexão(m)

-0.8

-1

-1.2

-1.4

-1.6

-1.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
comprimento(m)

-6
x 10

-0.5
deflexão(m)

-1

-1.5

-2
0.5
0.45 1
0.8
0.4 0.6
0.35 0.4
0.2
4 0
momento de inércia(m ) comprimento(m)
A figura abaixo mostra uma viga engastada na extremidade direita e
livre na esquerda, submetida a um carregamento distribuído w. A equação
da deflexão “y” da viga é dada abaixo.

w x 4 L3 x L4
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)')

-9
x 10
0

-0.5

-1

-1.5
deflexão (m)

-2

-2.5

-3

-3.5

-4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
comprimento (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.
%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;
-8
x 10
0

-0.1

-0.2

-0.3

-0.4
deflexão (m)

-0.5

-0.6

-0.7

-0.8

-0.9

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
comprimento (m)

-8
x 10

-0.2

-0.4

-0.6

-0.8

-1
8000
1
6000
0.8
0.6
4000 0.4
0.2
2000 0
ATIVIDADE 7

O movimento retilineo uniformemente variado (mruv) é descrito


pelas equações abaixo:

a = k ( constante)

v = v0 + at

x = x0 + v0t + 0,5at 2

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

140
a
v
120 x

100

80

60

40

20

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
150

100

50

0
60
5
40
4
3
20 2
1
0 0

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;
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:

r 2 + r3 = rB 2)

Escrevendo 2) em função das componentes de cada vetor, tem-se:

r2 cos( 2 ) r3 cos( 3 ) rB 


r sen( )  + r sen( )  = 0 
2 2  3 3    3)
 0   0  0 

Separando as componentes de 3) segundo os eixos X e Y, tem-se:

X: r2 cos( 2 ) + r3 cos( 3 ) = rB 4)

Y: r2 sen( 2 ) + r3 sen( 3 ) = 0 5)

Do sistema de equações 4) e 5), tem-se da Eq. 6):

r2
 3 = sen -(-
1
sen( 2 )) 6)
r3

Substituindo ϴ3 obtido em 6) em 4), tem-se:

rB = r2 cos( 2 ) + r3 cos( 3 ) 7)
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)')
30

20

10
teta3 (graus)

-10

-20

-30

-40
0 50 100 150 200 250 300 350 400
teta2 (graus)

0.35

0.3

0.25
rb (m)

0.2

0.15

0.1
0 50 100 150 200 250 300 350 400
teta2 (graus)
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)')

50

40

30

20

10
teta3 (graus)

-10

-20

-30

-40

-50
0 50 100 150 200 250 300 350 400
teta2 (graus)

0.35

0.3

0.25

0.2
rb (m)

0.15

0.1

0.05

0
0 50 100 150 200 250 300 350 400
teta2 (graus)
ATIVIDADE 8

REPRESENTAÇÃO DE SISTEMAS DINÂMICOS NO ESPAÇO DE


ESTADOS

Um 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:

d n y(t ) d n−1 y(t ) dy(t )


n
+ an −1 n −1
+ .... + a1 + a0 y(t ) = g (t ) 1)
dt dt dt

De 1);

d n y(t ) d n−1 y(t ) dy(t )


= − a − ... − a1 − a0 y(t ) + g (t )
dt n n −1
dt n −1
dt 2)
Definindo n (número da ordem da equação diferencial original)
novas variáveis, x1(t), x2(t),...., xn(t), pelas equações:

dy(t ) dy 2 (t ) d n−1 y(t )


x1 (t ) = y(t ), x2 (t ) = , x3 (t ) = , .......... , xn (t ) = 3)
dt dt 2 dt n−1

As novas variáveis de 3) são interligadas pelas equações 4).

x1 (t ) = x 2 (t ) 
x 2 (t ) = x3 (t ) 
x 3 (t ) = x 4 (t ) 
 4)
.......... ........ 
.......... ........ 

x n −1 (t ) = x n (t )

Escrevendo a Eq. 2) em função das novas variáveis dadas por 3);

d n y(t )
= −an−1 xn (t ) − ... − a1 x2 (t ) − a0 x1 (t ) + g (t ) 5)
dt n

Diferenciando a última equação de 3);

d n−1 y(t ) d d n−1 y(t ) d n y(t )


xn (t ) =  x
 n (t ) = [ ] = 6)
dt n−1 dt dt n−1 dt n

Usando 6) em 5);

x n = −a n −1 x n (t ) − ... − a1 x 2 (t ) − a 0 x1 (t ) + g (t ) 7)

Adicionando 7) em 4);
x1 (t ) = x 2 (t ) 
x 2 (t ) = x3 (t ) 

x 3 (t ) = x 4 (t ) 

.......... ........  8)
.......... ........ 

x n −1 (t ) = x n (t ) 

x n = −a n −1 x n (t ) − ... − a1 x 2 (t ) − a 0 x1 (t ) + g (t )

Escrevendo 8) na forma matricial:

 x1   0 1 0 0 . . 0 0   x1  0
 x    
 2   0 0 1 0 . . 0 0   x 2  0
 
 x 3   0 0 0 1 . . 0 0   x 3  0 
      
.  =  . . . . . . . .  .  . 
+ g (t ) 9)
.   . . . . . . . .  .  . 
      
.   . . . . . . . .  .  . 
 x   0 0 0 0 . . 0 1   x n −1  0
 n −1      
 x n  − a 0 − a1 − a2 − a3 . . . a n −1   x n  1 

Ou de 9):

X = AX + Bg (t ) ou,
10)
X = AX + Bu

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:
F + F I = 0  Fm + Fa + F12 + FI + u = 0 (1)

Na direção x, tem-se de (1);


mx(t ) + cx(t ) + kx(t ) = u (t ) 
(2)
(−kx(t ) − cx(t ) + u (t ))
x(t ) =
m

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:

x1 = x e x2 = x (3)

Usando (3) e (2), tem-se:

 x1 = x2

 k c 1 (4)
 x2 = − m x1 − m x2 + m u
Escrevendo 4) na forma matricial, tem-se:

 0 1 0 
 x1     x1   
=
x   k c +   1 u 
 2  − −   x2   
 m m   m 

Onde:

 0 1 0 
A= k c ; B=1
− −   
 m m   m 

A saída é dada por:

Y = CX + Du

Ou seja;

 y1  1 0   x1  1 0   x
 y  = 0    +  0 u =  +  0 u
 2  1   x2  0 1   x 

Onde:

1 0
C= e D = [0]
0 1 

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);


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:

mx1 + cx1 + 2kx1 − kx2 = u1



 (1)
mx + cx − kx + 2kx = u
 2 2 1 2 2

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);
y1 = x1 , y2 = x1 , y3 = x2 e y4 = x2 (2)

Tem-se de (1):

y1 = y2
2k c k 1
y2 = − y1 − y2 + y3 + u1
m m m m

y3 = y4
k 2k c 1 (3)
y4 = y1 − y3 − y4 + u2
m m m m

Escrevendo 3) na forma matricial, chega-se em 4).

 0 1 0 0
 y1   −2k −c k   y1  0 0 
y   0   
 2 =  m m m   y2  + 1/ m 0  u1 
4)
 y3   0 0 0 1   y3  0 0  u2 
      
 y4   k −2k −c   y4  0 1/ m 
 m 0
m m 

A saída é dada por: Z = CY, dada por 5).

 z1  1 0 0 0   y1 
z    
 2  = 0 1 0 0   y2 
5)
 z3   0 0 1 0   y3 
    
 z4   0 0 0 1   y4 
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:

F + F I =0

t : −Wsen − FI = 0  −Wsen − mL = 0 

mL + Wsen = 0 

g
+ sen = 0 (1)
L

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);

g
 +  =0 (3)
L

E,

g 2 L
n = e =   = 2 (4)
L n g

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:

y (1) =  e y(2) =  5)

Usando 5) e 1), tem-se:



 y (1) = y (2)


 g
 y (2) = - sen( y (1)) 6)
 L

Usando 5) e 3), tem-se:


 y (1) = y (2)


 g
 y (2) = - ( y (1)) 7)
 L

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.8
Solução Linear
Solução Não Linear
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
ATIVIDADE 11

Transformar a Eq. (1) para a forma de espaço de estados e mostrar as


matrizes A, B, C e D.

x + 100x + 20x = u
(1)

Representando (1) na forma de Espaço de Estados, com a mudança


de variáveis como (2);

x1 = x , x2 = x , x3 = x e x4 = x (2)

Tem-se de (1):

 x1 = x2
x = x
 2 3
 (3)
 3x = x4
 x4 = −20 x1 − 100 x3 + u

Escrevendo 3) na forma matricial, chega-se em 4).

 x1   0 1 0 0   x1  0 
x    
 2 =  0 0 1 0   x2  0 
 u 
+ 4)
 x3   0 0 0 1   x3  0 
      
 x4   −20 0 −100 0   x4  1 
A saída é dada por: Y = CX, dada por 5).

 y1  1 0 0 0   x1 
y    
 2  = 0 1 0 0   x2 
5)
 y3   0 0 1 0   x3 
    
 y4   0 0 0 1   x4 

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.15
x
0.1

0.05

-0.05

-0.1

-0.15

-0.2
0 2 4 6 8 10 12 14

0.25
x
0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2

-0.25
0 5 10 15 20 25 30

Você também pode gostar