ESCUELA SUPERIOR POLITECNICA DEL
LITORAL
INSTITUTO DE CIENCIAS FISICAS
MAESTRIA DE ENSEÑANZA DE LA FISICA
FÍSICA COMPUTACIONAL
“PROYECTO: CÁLCULO DEL TRABAJO NETO EFECTUADO POR DIVERSAS FUERZAS CONSTANTES SOBRE UN MISMO CUERPO”
GRUPO # 3
MANUEL ALVAREZ ALVARADO
FELIX BRAVO FAYTONG
PROFESOR:
M. SC. EDISON ISAIAS DEL ROSARIO CAMPOSANO
FECHA DE ENTREGA: SABADO 1 DICIEMBRE 2012
INDICE
I. INTRODUCCIÓN
II. PRESENTACIÓN DEL PROBLEMA
III. SOLUCIÓN DEL PROBLEMA UTILIZANDO MATLAB
IV. EJEMPLO DE PRUEBA
V. CONCLUSIÓN
VI. ANEXO
I. INTRODUCCIÓN
La palabra trabajo tiene diferentes significados en el lenguaje cotidiano, en física se le da un significado específico como el resultado de la acción que ejerce una fuerza para que un objeto se mueva en cierta distancia.
El trabajo que se puede efectuar puede ser realizado por una fuerza constante y por una fuerza variable, para esta ocasión el presente proyecto esta enfocado en el trabajo neto que pueden causar diversas fuerzas constantes actuando sobre un mismo cuerpo.
Se refiere a una fuerza constante, como aquella que no varía y el trabajo realizado por esta, sería definida como el producto de una fuerza paralela al desplazamiento y la magnitud de este desplazamiento. Una forma de decirlo científicamente ó en formula es: WORK= F*d * cosƟ
El cálculo para determinar el trabajo neto no resulta tan complicado, pero si nos planteamos la idea de obtener el trabajo neto sobre un cuerpo en el cual actúan cinco, seis o porque no decir 100 fuerzas a la vez… la verdad se llega a la conclusión de que el desarrollo para llegar a la solución se convierte extensa.
Ante lo anteriormente planteado se presenta un programa realizado en MATLAB, el cual independientemente de las fuerzas que actúen sobre el cuerpo permitirá:
1. Mostrar diagrama de cuerpo libre.
2. Determinar y mostrar fuerza resultante.
3. Mostrar gráficos de posición, velocidad y aceleración.
4. Determinar y mostrar el trabajo neto realizado.
II. PRESENTACIÓN DEL PROBLEMA
Supongamos que tenemos una caja sobre la cual actúan un número definido de fuerzas, y se desea moverla por una superficie sin fricción, desde el reposo y por un tiempo determinado con se muestra en la figura siguiente:
El objetivo del problema es poder determinar el trabajo neto realizado sobre la caja bajo las condiciones
ya establecidas.
III. SOLUCIÓN DEL PROBLEMA UTILIZANDO MATLAB
Antes de comenzar a buscar una solución al problema primeramente se tiene que pedir el ingreso de
datos que para esta ocasión serán:
o Masa del cuerpo
o Numero de fuerzas aplicadas
o Magnitud y ángulo (tomando como referencia el eje positivo de las x) de cada fuerza
Realizado esto, ya es posible comenzar con la programación que se detalla en el anexo del proyecto.
IV. EJEMPLO DE PRUEBA
Del siguiente sistema a continuación se desea calcular el trabajo neto efectuado.
A continuación se procederá a mostrar los datos de ingreso del problema:
A continuación se muestran las salidas del programa, dando así la solución del problema:
V. CONCLUSIÓN
Los resultados obtenidos del programa coinciden con los realizados de manera manual que se muestran
en el anexo, concluyendo que el programa elaborado es correcto.
V. ANEXO
Código elaborado en MATLAB
clc clearall disp('**CALCULO DEL TRABAJO NETO**') disp(' ') disp(' ') disp(' =====') disp(' ===== bloque') disp('-----=====------------') disp('Se considera que el cuerpo va iniciar su movimento producto de las
fuerzas aplicadas') masa=input('Ingrese la masa del bloque en [kg]: '); n=input('Ingrese el numero de fuerzas actuando sobre el bloque: '); i=1; fx=0; fy=0; while i<=n fprintf('\n Ingrese la magnitud de la fuerza %d en [N]: ',i) mag(i)=input(''); fprintf('\n Ingrese el angulo del vector %d con respecto al eje positivo de
las x en grados: ',i) ang(i)=input(''); fxx(i)=mag(i)*cos(ang(i)*(pi/180)); %componenete x del vector f(i) fyy(i)=mag(i)*sin(ang(i)*(pi/180)); %componenete y del vector f(i) fx=fx+mag(i)*cos(ang(i)*(pi/180)); %fuerzaresultante en x fy=fy+mag(i)*sin(ang(i)*(pi/180)); %fuerza resultante en y i=i+1; end t=input('Ingrese por cuanto tiempo se va a desplazar el bloque en [s]: '); mt=0:0.5:t; %matriz tiempo ax=fx/masa; %aceleracion en x iffy>masa*9.8 ay=fy/masa; %aceleracion en y solo existe si fuerza resultante es mayor
al peso else ay=0; %aceleracion no existe porque fuerza resultante es menor al
peso y no logra levantarlo end dx=0.5*ax*(mt.^2); %distancia recorrida en x dy=0.5*ay*(mt.^2); %distancia recorrida en y vx=ax*mt; %velocidad en x vy=ay*mt; %velocidad en y work=fx*dx(length(mt))+fy*dy(length(mt));
% menu op=0; while op~=5 disp(' ****MENU****') disp('1. MOSTRAR DIAGRAMA DE CUERPO LIBRE') disp('2. DETERMINAR Y MOSTRAR FUERZA RESULTANTE')
disp('3. MOSTRAR GRAFICOS DE POSICION, VELOCIDAD Y ACELERACION') disp('4. DETERMINAR Y MOSTRAR EL TRABAJO NETO REALIZADO') disp('5. Salir') op=input('Ingrese una opcion del menu: '); ifop>5||op<=0 fprintf('\n la opcion ingresada no es valida...!!!') fprintf('\n Ingrese una OPCION VALIDA') disp(' ****MENU****') disp('1. MOSTRAR DIAGRAMA DE CUERPO LIBRE') disp('2. DETERMINAR Y MOSTRAR FUERZA RESULTANTE') disp('3. MOSTRAR GRAFICOS DE POSICION, VELOCIDAD Y ACELERACION') disp('4. DETERMINAR Y MOSTRAR EL TRABAJO NETO REALIZADO') disp('5. Salir') op=input('Ingrese una opcion del menu: '); end
%opcion uno Diagrama de cuerpo libre if op==1 i=1; whilei<=n quiver(0,0,fxx(i),fyy(i),0) gridon xlabel('Fuerza x [N]') ylabel('Fuerza y [N]') title('Diagrama de cuerpo del bloque','FontSize',14) legend('Fuerzas que actuan sobre el cuerpo') holdon i=i+1; end quiver(0,0,0,-masa*9.8,0) holdon iffy<masa*9.8 quiver(0,0,0,masa*9.8+fy,0) end end
%opcion 2 fuerzaresultante if op==2 mf=((fx^2)+(fy^2))^0.5; theta=(180/pi)*atan(fy/fx); fprintf('\n La fuerza resultante en coordenadas rectangulares: Fr= %d i+ %d
j',fx, fy) fprintf('\n La fuerza resultante en coordenadas polares: Fr= %d theta= %d
\n',mf, theta) input('') quiver(0,0,fx,fy,0) gridon xlabel('Fuerza eje x [N]') ylabel('Fuerza eje y [N]') title('Fuerza resultante','FontSize',14) end
%opcion 3 gRAFICOS de posicion, velocidad y aceleracion if op==3 subplot(3,2,1); plot(mt,dx);
gridon xlabel('Distancia [m]') ylabel('Tiempo [s]') title('Grafica DISTANCIA recorrida en X VS TIEMPO','FontSize',14)
subplot(3,2,2); plot(mt,dy); gridon xlabel('Distancia [m]') ylabel('Tiempo [s]') title('Grafica DISTANCIA recorrida en Y VS tiempo','FontSize',14)
subplot(3,2,3); plot(mt,vx); gridon xlabel('Velocidad [m/s]') ylabel('Tiempo [s]') title('Grafica VELOCIDAD en X VS tiempo','FontSize',14)
subplot(3,2,4); plot(mt,vy); gridon xlabel('Velocidad [m/s]') ylabel('Tiempo [s]') title('Grafica VELOCIDAD en Y VS tiempo','FontSize',14)
subplot(3,2,5); axx=ax*ones(length(mt),1); plot(mt,axx); gridon xlabel('Aceleracion [m/s^2]') ylabel('Tiempo [s]') title('Grafica ACELERACION en X VS tiempo','FontSize',14)
subplot(3,2,6); ayy=ay*ones(length(mt),1); plot(mt,ayy); gridon xlabel('Aceleracion [m/s^2]') ylabel('Tiempo [s]') title('Grafica ACELERACION en Y VS tiempo','FontSize',14) end %Calculo del trabajo efectuado ifop==4 iffy>0 mf=((fx^2)+(fy^2))^0.5; else mf= fx; end dtotal=((dx.^2)+(dy.^2)).^0.5; fprintf('\n Fuerza neta que realiza trabajo: %d [N]',mf) fprintf('\n Distancia recorrida: %d [m]',dtotal(length(dtotal))) fprintf('\n El trabajo neto realizado es: %d [JOULES]',work) input('') plot(dtotal,mf*ones(length(mt),1)); gridon
axis([0, 1.2*dtotal(length(dtotal)), 0, 1.5*mf]) xlabel('Fuerza [N]') ylabel('Desplazamiento [m]') title('Diagrama Fuerza total VS Desplazamiento','FontSize',14) end end disp('GOOD BYE =)')
%copyrigth Manuel Alvarez Alvarado - Felix Bravo Faytong MEF3-24/11/2012
PROBLEMA PROPUESTO
F1=30N
F4=50N F2=(25N; 200˚)
60˚
F3=100N
Determinar el trabajo neto.
SOLUCIÒN DEL PROBLEMA:
DCL:
N
F1=30N
F3=100N
F2=25N F4=50N
W=10Kg
CÀLCULO DE LA FUERZA RESULTANTE:
Lo levanta si F1>F2y+W+F4y. Reemplazando se concluye que: F1<F2y+W+F4y (no lo levanta).
+W
10kg
CÀLCULO DE LA ACELERACIÒN:
CÀLCULO DE LA DISTANCIA:
CÀLCULO DEL TRABAJO:
Work=FR * d
Work=(101,5i + 0j)N*(20,3i + 0j)m
Work= 2060,605 J
Top Related