• Nenhum resultado encontrado

// O angulo interno ao canto C e entao obtido utilizando-se a // definicao de produto escalar: A.B = A B cos(theta)

N/A
N/A
Protected

Academic year: 2021

Share "// O angulo interno ao canto C e entao obtido utilizando-se a // definicao de produto escalar: A.B = A B cos(theta)"

Copied!
10
0
0

Texto

(1)

Apendice

Solu¸

ao do Problema 1.2 usando o SCILAB

No c´odigo a seguir definimos os cantos do triˆangulo atrav´es dos vetores A, B, e C. A partir desses vetores obtemos os vetores que definem os lados do triˆangulo, i.´e, AB, CA e CB // Solucao do Problema 1.2

// Definimos os pontos A, B e C A=[4 1 2];

B=[1 -1 0]; C=[5 -3 -4];

// O vetor CA e definido por CA=A-C;

// O vetor CB e definido por CB=B-C;

// O angulo interno ao canto C e entao obtido utilizando-se a // definicao de produto escalar: A.B = |A||B| cos(theta) THETA=acos(CA*CB’/(norm(CA)*norm(CB)))*180/%pi

// O vetor AB e definido por AB=B-A;

// Para determinarmos se o triangulo e retangulo ou nao basta verificarmos // se dois dos vetores que definem os lados sao perpendiculares. Nesse caso // o produto escalar desses dois vetores sera igual a zero.

// Verificando a ortogonalidade entre AB e CA AB*CA’

// Verificando a ortogonalidade entre AB e CB AB*CB’

(2)

Defini¸

ao da fun¸

ao “ProdVet” para obter produtos vetoriais

No SCILAB o produto vetorial n˜ao ´e pr´e definido. A seguir apresentamos uma fun¸c˜ao que executa essa opera¸c˜ao. Essa funcao sera utilizada nos c´odigos que executem produtos vetoriais, por exemplo, o Problema 1.3 a seguir.

function [p] = ProdVet(u,v)

// Calcula o produto vetorial de dois vetores u e v.

// Os vetores u e v podem ser vetores linha ou coluna, mas // cada um deles deve ser tri-dimensional.

[nu,mu] = size(u); [nv,mv] = size(v);

if nu*mu <> 3 | nv*mv <> 3 then

error(’Os vetores devem ser tri-dimensionais’) abort;

end

A1 = [ u(2), u(3); v(2), v(3)]; A2 = [ u(3), u(1); v(3), v(1)]; A3 = [ u(1), u(2); v(1), v(2)];

px = det(A1); py = det(A2); pz = det(A3); p = [px, py, pz]

// Fim da funcao

Solu¸

ao do Problema 1.5 usando o SCILAB

Esse c´odigo utiliza a fun¸c˜ao que executa a opera¸c˜ao de produto vetorial definida acima. // Solucao do Problema 1.5

u=[6/7 -3/7 2/7] v=[2/7 6/7 3/7] w=[-3/7 -2/7 6/7]

// Verificando se sao unitarios: norm(u), norm(v), norm(w)

(3)

// funcao definida acima getf("cross")

// Verificando se sao ortogonais e formam uma base direita. // Sabemos que da definicao de base ortogonal direita temos que // (u x v).w = (v x w).u = (w x u).v =1

ProdVet(u,v)*w’ ProdVet(v,w)*u’ ProdVet(w,u)*v’ //

// A transformacao de coordenada e obtida por

// | u | | i.u j.u k.u | | i |

// | v | = | i.v j.v k.v | | j |

// | w | | i.w j.w k.w | | k |

//

// A base antiga e dada pelos unitarios i, j e k, definidos como i=[1 0 0];

j=[0 1 0]; k=[0 0 1];

// Assim obtemos a matriz transformacao

T=[i*u’ j*u’ k*u’; i*v’ j*v’ k*v’; i*w’ j*w’ k*w’] // Definimos os vetores a, b e c

a=[0 3 2] b=[-1 4 -3] c=[2 -2 -2]

// Os vetores na base nova sao dados por a=T*a’

b=T*b’ c=T*c’

(4)

Solu¸

ao do Exemplo 2.13 usando o SCILAB

Para exemplificarmos a utiliza¸c˜ao do SCILAB na solu¸c˜ao de um problema de treli¸ca vamos resolver, novamente, o exemplo 2.13 do texto. A id´eia ´e resolvermos um sistema linear de equa¸c˜oes. Sabemos que a treli¸ca em quest˜ao, ´e plana e simples. Portanto, a condi¸c˜ao de que a soma das for¸cas atuando em cada n´o tem que ser nula nos fornece 2 equa¸c˜oes. O desenho abaixo ajuda-nos a entender o processo. A treli¸ca ´e composta por 7 elementos, portanto, temos 7 for¸cas a serem determinadas (as for¸cas que atuam em cada elemento). No desenho elas s˜ao designadas por fa (for¸cas no elemento a) at´e fg.

Necessitamos 7 equa¸c˜oes linearmente independentes. Os n´os C, D e E nos fornecem 2 equa¸c˜oes cada, e como sabemos que o apoio B ´e m´ovel na dire¸c˜ao horizontal, esse n´o nos fornece 1 equa¸c˜ao, totalizando as 7 de que necessitamos.

100 N

f

f

f

d c a

a

b

c

d

e

f

g

100 N

200 N

300 N

f

a

f

b

f

a

f

d

f

d

f

c

f

b

f

f

f

f

f

f

g g

f

e

f

e

f

c

(a)

(b)

A

B

C

D

E

D

4

3

O n´o D fornece as seguintes equa¸c˜oes:

−facos θ + fccos θ + fd= 0 −fasen θ − fcsen θ − 100 = 0 Do n´o C temos: −fd− fecos θ + fgcos θ + 200 = 0 −fesen θ − fgsen θ = 0 Do n´o E, temos: −fb− fccos θ + fecos θ + ff = 0 fcsen θ + fesen θ − 300 = 0

(5)

Essas equa¸c˜oes podem ser agrupadas para fornecer o seguinte sistema − cos θ 0 cos θ 1 0 0 0 − sen θ 0 − sen θ 0 0 0 0 0 0 0 −1 − cos θ 0 cos θ 0 0 0 0 − sen θ 0 − sen θ 0 −1 − cos θ 0 cos θ 1 0 0 0 sen θ 0 sen θ 0 0 0 0 0 0 0 −1 − cos θ fa fb fc fd fe ff fg = 0 100 −200 0 0 300 0

A solu¸c˜ao desse sistema fornece o valor das for¸cas (fa...fg) que atuam em cada elemento.

Observe que se o resultado for positivo, ent˜ao a for¸ca tem o sentido indicado na Figura acima (ou seja, ser´a uma for¸ca de tra¸c˜ao sobre a barra, caso contr´ario, se o resultado for negativo, ent˜ao o sentido que atribuimos na Figura est´a ao contr´ario do que ´e, e a for¸ca ser´a, ent˜ao, de compress˜ao.

// Resolveremos o seguinte sistema |A|.|F| = |B| onde a |A| e a // matriz que contem as direcoes das forcas, |F| e a matriz

// unidimencional das forcas e |B| representa a carga sobre a trelica // Define-se o numero de elementos

n=7;

// Define-se as matrizes A(n,n) e B(n,1) com todos os elementos iguais // a zero

A = zeros(n,n); B = zeros(n,1);

// Angulo que define a inclinacao de alguns dos elementos da trelica angulo = atan(4/3);

c=cos(angulo); s=sin(angulo);

// Definicao das matrizes do sistema

(6)

A(3,7) = c; A(4,5) = -s; A(4,7) = -s; A(5,2) = -1; A(5,3) = -c; A(5,5) = c; A(5,6) = 1; A(6,3) = s; A(6,5) = s; A(7,6) = -1; A(7,7) = -c;

// Matriz B (elementos diferentes de zero) B(2,1) = 100; B(3,1) = -200; B(6,1) = 300; // matriz A A // matriz B B

// Determinacao das forcas nos elementos (F = inversa{A} * B) F = inv(A)*B

Solu¸

ao do Problema 2.18 usando o SCILAB

Como segundo exemplo de solu¸c˜ao num´erica de uma treli¸ca simples, vamos resolver a treli¸ca do Problema 2.18. O m´etodo ´e identico ao utilizado no exemplo anterior. No caso da treli¸ca do Problema 2.18 temos 13 elementos, o que significa 13 for¸cas a serem determinadas. Cada um dos n´os, representado na Figura abaixo pelas letras B, C, D, F , G e H, fornece 2 equa¸c˜oes de equil´ıbrio. No caso do n´o E, sabemos que a soma das componentes na horizontal tem que ser igual a zero. Portanto, temos as 13 equa¸c˜oes necess´arias `a solu¸c˜ao do problema.

O c´odigo SCILAB ´e dado a seguir. A execu¸c˜ao desse c´odigo fornece como resposta: fa = −10.0 kN

fb = −5.83 kN

(7)

fd = −10.0 kN fe = 8.00 kN ff = 8.00 kN fg = 8.00 kN fh = 8.00 kN fi = 0.00 kN fj = −4.17 kN fk = 5.00 kN fl = −4.17 kN fm = 0.00 kN

B

C

D

E

F

G

H

5 kN

2 kN

5 kN

1,5 m 1,5 m 3 m 2 m 2m 2 m 2 m

A

d

c

h

i

j

k

l

a

b

e

f

g

m

(8)
(9)

Solu¸

ao do Exemplo 3.9 usando o SCILAB

O c´odigo a seguir foi escrito para resolver o exemplo 3.9 e desenhar o gr´afico da velocidade do pist˜ao e velocidade angular do bra¸co 2 como fun¸c˜ao do ˆangulo do bra¸co 1.

// define-se um vetor contendo o valor do angulo theta, com

// valor inicial igual a "arccos(-.6)", que e’ o angulo utilizado // no Exemplo 3.9. Os valores sao incrementados de -0.01 radianos // (rotacao no sentido horario) ate’ realizar 2 voltas completas. theta=[acos(-.6):-.01:-4*%pi+acos(-.6)]’;

// determina-se o tamanho do vetor theta s=size(theta);

// define-se matrizes de dimensoes tamanho de theta X 3 // r1 e’ o vetor que localiza o ponto "A", r2 e’ o vetor que // localiza "B" com relacao a "A", v e’ a velocidade de "A" e // vb uma matriz de dimensao tamanho de theta X 2 que ser’a obtida // como solucao do problema, onde vb(:,1) e’ a velocidade linear do // ponto "B" e vb(:,2) a velocidade angular do braco 2.

r1 = zeros(s(1,1),3); r2 = zeros(s(1,1),3); v = zeros(s(1,1),3); vb = zeros(s(1,1),2);

// Calcula-se as componentes do vetor r1 em funcao do angulo theta r1(:,1)=5*cos(theta);

r1(:,2)=5*sin(theta);

// Calcula-se as componentes do vetor r2 em funcao do angulo theta r2(:,1)=sqrt(13^2 - r1(:,2)^2);

r2(:,2)=r1(:,2); getf("cross");

// A velocidade angular do braco 1 e’ igual a -10 rad/s na direcao // horaria

(10)

// Calcula-se a velocidade linear do ponto "A" (va= omega X r1). // Em seguida monta-se o sistema que nos dara’ a velocidade angular // do braco 2 e a velocidade do ponto "B", impondo-se a condicao // de que a componente vertical ("y") dessa velocidade e’ igual a // zero (ver exemplo 3.9 do texto).

for i = 1:s(1,1)

v(i,:) = ProdVet(w,r1(i,:)); A=[1 -r2(i,2); 0 -r2(i,1)]; B=[v(i,1); v(i,2)];

vb(i,:)=(inv(A)*B)’; end

// grafico de vb e da velocidade angular do braco 2. xbasc()

Referências

Documentos relacionados

Cabeça, mesossoma e metassoma de coloração verde metálica escura. As pernas são amareladas. Ocelos laterais distam entre si cerca de 0,5 a 1 vez o diâmetro do

Chora Peito Chora Joao Bosco e Vinicius 000 / 001.. Chão De Giz Camila e

interpretar dados de natureza diversa (laboratoriais, bibliográficos, internet...) sobre estratégias de obtenção de matéria por diferentes seres heterotróficos.. -

Na procura de uma solução econômica para o produtor rural local, este trabalho teve como objetivo estudar o comportamento do sistema de injeção Venturi e analisar

João Camillo Penna apontou essa questão num texto no qual analisou o testemunho de Rigoberta Menchú, ativista política indígena guatemalteca que num procedimento semelhante

No 1T19 o caixa gerado nas atividades operacionais de R$247,6 milhões foi destinado para: investimentos em imobilizados e intangíveis no valor de R$14,6

Portanto, a menor medida do ângulo possível em que se deve girar a tela para retornar à posição original é de 135º no sentido horário.. QUESTÃO 46:

A não aplicação da Lei desde o início do estado de emergência levará a que que 29,6% das vendas sejam para pagar rendas. Ou seja, a margem comercial bruta será para pagar as rendas