domingo, 19 de abril de 2009

CALCULO DEL MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO

public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;

public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas = nF;
numeroColumnas = nC;
matriz = new double[numeroFilas][numeroColumnas];
for(int i = 0; i < numeroFilas; i++)
for(int j = 0; j < numeroColumnas; j++)
matriz[i][j] = 0;
}

public String imprimir(){
String aux ="";

for(int i = 0; i < numeroFilas; i++){
for(int j = 0; j < numeroColumnas; j++){
aux = aux + matriz[i][j] +" ";
}
aux = aux + "\n";
}

return aux;
}


public String imprimir4(){
String aux ="";
aux="("+aux+ matriz[0][0]+"i"+" ";
aux=aux+matriz[0][1]+"j"+" ";
aux=aux+matriz[0][2]+"k"+")";
return aux;
}

public Matriz suma(Matriz B){
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r =new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i=0;i for(j=0;j r.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];

return r;
}
else{
Matriz r=new Matriz(1,1);
System.out.println("No se pueden sumar las matrices");
return r;

}
}

public Matriz resta(Matriz B){
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas==B.numeroColumnas)){
Matriz r =new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i=0;i for(j=0;j r.matriz[i][j]=this.matriz[i][j]-B.matriz[i][j];

return r;
}
else{
Matriz r=new Matriz(1,1);
System.out.println("No se pueden restar las matrices");
return r;
}
}
public Matriz multiplicacion(Matriz B){
if(this.numeroFilas==B.numeroColumnas){
Matriz r =new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
int k;
for(int i=0;i
for(j=0;j for(k=0;k
r.matriz[i][j]+=this.matriz[i][k]*B.matriz[k][j];

return r;
}
else{
Matriz r=new Matriz(1,1);
System.out.println("multiplicacion no definida");
return r;
}
public Matriz multiplicaEscalar(double a){
Matriz r =new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i=0;i
for( j=0;j
r.matriz[i][j]=this.matriz[i][j]*a;
return r;

}
}

public class MRUV {
public Particula particula;
public MRUV(){}
public MRUV(Matriz xo,Matriz vo,Matriz a){
particula=new Particula();
particula.setPosicionInicial(xo);
particula.setVelocidadInicial(vo);
particula.setAceleracion(a);
}
public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz xo,vo,a;
xo=this.particula.getPosicionInicial();
posicion=new Matriz(xo.numeroFilas,xo.numeroColumnas);
vo=this.particula.getVelocidadInicial();
a=this.particula.getAceleracion();
posicion=xo.suma(vo.multiplicaEscalar(t));
posicion=posicion.suma(a.multiplicaEscalar(0.5*t*t));
return posicion;


}
public Matriz calculoVelocidad(double t){
Matriz posicion;
Matriz xo,vo,a,v;
xo=this.particula.getPosicionInicial();
posicion=new Matriz(xo.numeroFilas,xo.numeroColumnas);
vo=this.particula.getVelocidadInicial();
a=this.particula.getAceleracion();
v=vo.suma(a.multiplicaEscalar(t));
return v;
}
public Matriz calcularAceleracion(double t)
{

Matriz aceleracion=particula.getAceleracion();
return aceleracion;

}
public static void main(String args[]){
Matriz xo=new Matriz(1,3);
xo.matriz[0][0]=1;xo.matriz[0][1]=2;xo.matriz[0][2]=-5;
Matriz vo=new Matriz(1,3);
vo.matriz[0][0]=1;vo.matriz[0][1]=2;vo.matriz[0][2]=2;
Matriz a=new Matriz(1,3);
a.matriz[0][0]=2;a.matriz[0][1]=3;a.matriz[0][2]=4;
MRUV n=new MRUV(xo,vo,a);
Matriz x;
x=n.calcularPosicion(2);
Matriz v;
v=n.calculoVelocidad(2);
Matriz ac;
ac=n.calcularAceleracion(2);

System.out.println("POSICION INICIAL:\n"+xo.imprimir());
System.out.println("PSCON FINAL EN t=2:\n"+x.imprimir());

System.out.println("VEL. INICIAL:\n"+vo.imprimir());
System.out.println("VEL. FINAL EN t=2:\n"+v.imprimir());
System.out.println("ACELERACION:\n"+a.imprimir());}
{
}
}

5 comentarios:

  1. Es un código muy biebn estructurado, la lógica q empleas en el programa esta siendo bien utilizada, te felicito hiciste un buen trabajo.

    ResponderEliminar
  2. Esta bien el codigo, bien estructurado pero podras quitar el codigo de resta que no se utiliza

    ResponderEliminar
  3. MUY BUEN TRABAJO COMPAÑERO... EL COIGO ES ENTENIBLE Y CORRECTAMENTE ELABORAO

    ResponderEliminar
  4. muy buen trabajo.. el codigo esta correcto..

    ResponderEliminar
  5. Esta entendible y claro como aplicar una la formula de MRUV en java..

    ResponderEliminar