lunes, 20 de abril de 2009

Mov Rect Unif Variado(mov de una particula)

package mruvescalar;

/**
*
* @author PaulLozada
*/
public class MruvEsc {
public Particula particula;

public MruvEsc (){}

public MruvEsc(double x0, double v0, double a){
particula.setPosicionInicial(x0);
particula.setVelocidadInicial(v0);
particula.setAceleracion(a);
}
public double calculoPosicion(double t){
double a;
a=particula.getPosicionInicial()+(particula.getVelocidadInicial()*t)+((particula.getAceleracion()/2));
return a;

}
public double calculoVelocidad(double t){
double velocidad = particula.getVelocidadInicial()+(particula.getAceleracion()*t);
return velocidad;
}

public double calculoAceleracion(double t){
double aceleracion = particula.getAceleracion();
return aceleracion;
}
public static void main(String args[]){
Particula p=new Particula (0.0,0.0,0.0);

System.out.println("posicion inicial\n"+p.getPosicionInicial());
System.out.println("velocidad inicial\n"+p.getVelocidadInicial());
System.out.println("aceleracion\n"+p.getAceleracion());

p.setPosicionInicial(6);
p.setVelocidadInicial(4);
p.setAceleracion(5);
System.out.println("posicion inicial (modificada)\n"+p.getPosicionInicial());
System.out.println("velocidad inicial (modificada)\n"+p.getVelocidadInicial());
System.out.println("aceleracion (modificada)\n"+p.getAceleracion());

MruvEsc m = new MruvEscalar();

m.particula=p;
System.out.println("Posicion a; con t = 10\n"+m.calculoPosicion(10));
System.out.println("Velocidad a; con t = 10\n"+m.calculoVelocidad(10));
System.out.println("Aceleracion a; con t = 10\n"+m.calculoAceleracion(10));


}
}

//MRUV vectorial


/**
*
* @author PaulLozada
*/
public class CalcMruvVect {
public Particula particula;

public CalcMruvVect(){}

public CalcMruvVect(Matriz x0, Matriz v0,Matriz a){
particula=new Particula();
particula.setPosicionInicial(x0);
particula.setVelocidadInicial(v0);
particula.setAceleracion(a);
}

public Matriz calcularPosicion(double t){
Matriz aux,aux1,aux2,aux3,aux4;
aux=this.particula.getPosicionInicial();
aux1=this.particula.getVelocidadInicial();
aux2=aux1.clonar();
aux3=new Matriz(aux.numeroColumnas,aux.numeroFilas);
for(int i=0;i for(int j=0;j aux2.matriz[i][j]=aux2.matriz[i][j]*t;
}
}
aux3=aux.suma(aux2);
aux4=this.particula.getAceleracion();
aux2=aux4.clonar();
for(int i=0;i for(int j=0;j aux2.matriz[i][j]=(aux2.matriz[i][j]*t)/2;

}
}
aux3=aux3.suma(aux2);
return aux3;
}

public Matriz calculoVelocidad(double t){
Matriz velocidad = this.particula.getVelocidadInicial();
Matriz velocidad1 = this.particula.getAceleracion();
Matriz velocidad3;
Matriz velocidad2=velocidad.clonar();
for(int i=0;i for(int j=0;j velocidad2.matriz[i][j]=velocidad2.matriz[i][j]*t;
}
}
velocidad3=velocidad.suma(velocidad2);
return velocidad3;
}

public Matriz calculoAceleracion(double t){
Matriz aceleracion=particula.getAceleracion();
return aceleracion;
}
public static void main(String args []){
Particula p = new Particula();
Matriz ini = new Matriz(1,3);
Matriz ini1 = new Matriz(1,3);
Matriz ini2 = new Matriz(1,3);
Matriz r;

ini.matriz[0][0]=2;
ini.matriz[0][1]=2;
ini.matriz[0][2]=2;
p.setPosicionInicial(ini);
r=p.getPosicionInicial();
System.out.println("posicion inicial=\n"+r.imprimir());

ini1.matriz[0][0]=4;
ini1.matriz[0][1]=5;
ini1.matriz[0][2]=6;
p.setVelocidadInicial(ini1);
r=p.getVelocidadInicial();
System.out.println("velicidad inicial=\n"+r.imprimir());

ini2.matriz[0][0]=4;
ini2.matriz[0][1]=4;
ini2.matriz[0][2]=4;
p.setAceleracion(ini2);
r=p.getAceleracion();
System.out.println("aceleracion =\n"+r.imprimir());

CalcMruvVect m = new CalcMruvVect(ini,ini1,ini2);
Matriz a;
a=m.calcularPosicion(5);
System.out.println("posicion final\n"+a.imprimir());

a=m.calculoVelocidad(2);
System.out.println("velocidad final\n"+a.imprimir());
}
}

//MRU escalar

package mruescalar;

/**
*
* @author PaulLozada
*/
public class MruEscalar {


public Particula particula;

public MruEscalar (){}

public MruEscalar(double x0, double v0, double a){
particula.setPosicionInicial(x0);
particula.setVelocidadInicial(v0);
particula.setAceleracion(a);
}
public double calcularPosicion(double t){
double posicion;
posicion = particula.getPosicionInicial()+particula.getVelocidadInicial()*t;
return posicion;
}

public double calculoVelocidad(double t){
double velocidad = particula.getVelocidadInicial();
return velocidad;
}

public double calculoAceleracion(double t){
double aceleracion = 0;
return aceleracion;
}

}

//MRU vectorial

package mruescalar;

/**
*
* @author Administrador
*/
public class Prueba {
public static void main(String args[]){
Particula p=new Particula (0.0,0.0,0.0);

System.out.println("posicion inicial\n"+p.getPosicionInicial());
System.out.println("velocidad inicial\n"+p.getVelocidadInicial());
System.out.println("aceleracion\n"+p.getAceleracion());

p.setPosicionInicial(6);
p.setVelocidadInicial(4);
p.setAceleracion(5);
System.out.println("posicion inicial (modificada)\n"+p.getPosicionInicial());
System.out.println("velocidad inicial (modificada)\n"+p.getVelocidadInicial());
System.out.println("aceleracion (modificada)\n"+p.getAceleracion());

MruEscalar m = new MruEscalar();

m.particula=p;
System.out.println("Posicion a; con t = 10\n"+m.calcularPosicion(10));
System.out.println("Velocidad a; con t = 10\n"+m.calculoVelocidad(10));
System.out.println("Acwlwracion a; con t = 10\n"+m.calculoAceleracion(10));


}

}

5 comentarios:

  1. Me parece que el programa esta bien hecho, aunque solo debias imprimir los resultados finales.

    ResponderEliminar
  2. El programa esta bien definido y el uso que tu haces de la funcion clonar para resolver el calculo de la posicion y la velocidad es muy bueno.

    ResponderEliminar
  3. Esta muy completo el programa me parece que tienes mucha logica en tu trabajo y los vectores se aprecian muy claramente

    ResponderEliminar
  4. buen codigo. el programa esta muy completo.. utilizando bien las funciones

    ResponderEliminar
  5. bueno el programa pero como dicen solo tenias que imprimir los resultados finales y ya estaba listo para que mucha vuelta pero bueno el programa muy bien especificada

    ResponderEliminar