Você está na página 1de 6

Para baixar o código acesse: https://goo.

gl/znCEkr

Escola Politécnica da Universidade de São Paulo

Diego Varalda de Almeida, 10580379

Resolução da lista extra

PMR5215 - Otimização aplicada ao projeto


de sistemas mecânicos

Orientadores: Prof. Dr. Emílio Carlos Nelli


Silva ; Prof. Dr. Thiago Martins

Universidade de São Paulo


Programa de Pós-graduação

São Paulo
2018
A resolução desta e das demais (implementação em Matlab) estão disponíves para download em
https://goo.gl/znCEkr

Exercício 1

Calcule :

[a] Método analítico

[b] Método semi-analítico

[c] Diferenças finitas

[a]
 

[b]

Para

% Analytical method - exercise 1

Km = @(A)([A^2, 2-A^2;
2-A^2, 4+2*A^2]);

K = Km(1); %solving K matrix for A=1

K_inv = inv(K);

F = [3; 4];

u = K_inv * F;

dKdA = [2 -2;
-2 4];

dFdA = [3; 8];

DfDA = u' * dKdA * u;

dudA = K_inv * (dFdA - dKdA * u);

dfdu_dudA = transpose( dudA ) *K*u + transpose(u) * K * dudA

res = DfDA + dfdu_dudA


% Semi-analytical method

delta = 0.1;
A = 1;

dKdA = ( Km(A+delta) - Km(A)) / delta

DfDA = u' * dKdA * u;

dudA = K_inv * (dFdA - dKdA * u);

dfdu_dudA = transpose( dudA ) *K*u + transpose(u) * K * dudA


res = DfDA + dfdu_dudA

[c]

O valor acima apresenta um erro bastante elevado se comparado com o valor da sensibilidade calculada de
forma analítica , isso se deve porque foi utilizado um valor de muito elevado, reduzindo
este valor para e recalculando, obtém-se

% Finite difference exercise 1

% Compute f in A
K = @(A) ([A^2 2-A^2;
2-A^2 4+2*A^2]);

F = @(A) ([3*A; 4*A^2]);

u = @(Kv, Fv) (inv(Kv) * Fv);

f = @(uv, Km) (transpose(uv) * Km * uv);


A = 1;
KA = K(A);
FA = F(A);
uA = u(KA, FA);

fA = f(uA, K(A));

h = 0.0001;
KAh = K(A+h);
FAh = F(A+h);
uAh = u(KAh , FAh);
fAh = f(uAh, KAh);

derivative = ( fAh - fA ) / h

Exercício 2

Calcule para :

[a] Método analítico

[b] Método semi-analítico

[c] Diferenças finitas

[a]
Os autovalores são

usando

calcula-se o valor de
Usando a expressão

Desta forma;

[b]

[c]

Você também pode gostar