Buscar

MATLAB \/ OCTAVE - Programação - Sistema resultante de forças (3D)Escrever um algoritmo que peça ao usuário:* O número de forças;* As coordenadas dos

MATLAB \/ OCTAVE - Programação - Sistema resultante de forças (3D) Escrever um algoritmo que peça ao usuário: * O número de forças; * As coordenadas dos pontos (iniciais e finais) que descreve cada forças ou os ângulos que cada força faz com os eixos; Isto é, em cada força que o usuário for descrever pergunte se ele deseja entrar com as coordenadas dos pontos desta força, ou se ele quer inserir os ângulos que essa força faz com os eixos (x,y, e z). O módulo de cada força; O algoritmo deverá mostrar ao usuário apenas: A força resultante (cartesiana), com as componentes Frx (î), Fry (j) e Frz (k); O módulo da força resultante; Os ângulos diretores (alfa,beta e gama) que a força resultante faz com os eixos x,y e z.

💡 2 Respostas

User badge image

Andre Smaira

Para começar vamos ler os dados pedidos:

n = input('Insira o número de forças: '); % Le o numero de forças\nfor i=1:n % Para cada força\ntipo = input('Coordenadas (C) ou Ângulos (A) ?','s');\nif tipo=='C'\nFx = input('Insira x inicial: ');\nFy = input('Insira y inicial: ');\nFz = input('Insira z inicial: ');\nFx = input('Insira x final: ')-Fx;\nFy = input('Insira y final: ')-Fy;\nFz = input('Insira z final: ')-Fz;\nelse\nf = input('Insira o módulo: ');\na = input('Insira o ângulo (rad) em relação ao eixo x: ')\nb = input('Insira o ângulo (rad) em relação ao eixo y: ')\nc = input('Insira o ângulo (rad) em relação ao eixo z: ')\nFx = f*cos(a); Fy = f*cos(b); Fz = f*cos(c);\nend\nend

A seguir vamos incrementar o código para a cada iteração fazer o cálculo pedido:

n = input('Insira o número de forças: '); % Le o numero de forças\nF = [0,0,0]; % Força resultante\nfor i=1:n % Para cada força\ntipo = input('Coordenadas (C) ou Ângulos (A) ?','s');\nif tipo=='C'\nFx = input('Insira x inicial: ');\nFy = input('Insira y inicial: ');\nFz = input('Insira z inicial: ');\nFx = input('Insira x final: ')-Fx;\nFy = input('Insira y final: ')-Fy;\nFz = input('Insira z final: ')-Fz;\nelse\nf = input('Insira o módulo: ');\na = input('Insira o ângulo (rad) em relação ao eixo x: ')\nb = input('Insira o ângulo (rad) em relação ao eixo y: ')\nc = input('Insira o ângulo (rad) em relação ao eixo z: ')\nFx = f*cos(a); Fy = f*cos(b); Fz = f*cos(c);\nend\nF = F + [Fx,Fy,Fz];\nend

Ao final teremos a força resultante, bastando-nos apenas determinar os resultados e imprimir:

n = input('Insira o número de forças: '); % Le o numero de forças

F = [0,0,0]; % Força resultante

for i=1:n % Para cada força

tipo = input('Coordenadas (C) ou Ângulos (A) ?','s');

if tipo=='C'

Fx = input('Insira x inicial: ');

Fy = input('Insira y inicial: ');

Fz = input('Insira z inicial: ');

Fx = input('Insira x final: ')-Fx;

Fy = input('Insira y final: ')-Fy;

Fz = input('Insira z final: ')-Fz;

else

f = input('Insira o módulo: ');

a = input('Insira o ângulo (rad) em relação ao eixo x: ')

b = input('Insira o ângulo (rad) em relação ao eixo y: ')

c = input('Insira o ângulo (rad) em relação ao eixo z: ')

Fx = f*cos(a); Fy = f*cos(b); Fz = f*cos(c);

end

F = F + [Fx,Fy,Fz];

end

Fx = F(1); Fy = F(2); Fz = F(3);

fprintf('Projeções cartesianas: (%.2f,%.2f,%.2f)\n',Fx,Fy,Fz);

f = sqrt(F(1)^2+F(2)2+F(3)2);

fprintf('Módulo: %.2f\n',f);

a = acos(Fx/f); b = acos(Fy/f); c = acos(Fz/f);

fprintf('Ângulos diretores: (%.2f,%.2f,%.2f)\n',a,b,c);

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais