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());}
{
}
}
domingo, 19 de abril de 2009
Suscribirse a:
Enviar comentarios (Atom)
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.
ResponderEliminarEsta bien el codigo, bien estructurado pero podras quitar el codigo de resta que no se utiliza
ResponderEliminarMUY BUEN TRABAJO COMPAÑERO... EL COIGO ES ENTENIBLE Y CORRECTAMENTE ELABORAO
ResponderEliminarmuy buen trabajo.. el codigo esta correcto..
ResponderEliminarEsta entendible y claro como aplicar una la formula de MRUV en java..
ResponderEliminar