domingo, 19 de abril de 2009

MRU y MRUV vectorial

MRU
public class Particula {
private Matriz posicionInicial;
private Matriz velocidadInicial;
private Matriz aceleracion;

public Particula(){}
public Particula(Matriz Xo, Matriz Vo, Matriz a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public Matriz getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(Matriz Xo){
posicionInicial = Xo;
}
public Matriz getAceleracion(){
return aceleracion;
}
public void setAceleracion(Matriz a){
aceleracion = a;
}
public Matriz getVelocidadInicial(){
return velocidadInicial;
}
public void setVelocidadInicial(Matriz Vo){
velocidadInicial = Vo;
}
}
package encapsulamientoii;
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 for(int j=0; j aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public String imprimir2(){
String aux ="";
aux=aux+"y1="+ matriz[0][0];
aux=aux+"\n";
aux=aux+"y2="+matriz[1][0];
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 < this.numeroFilas; 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 multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j r.matriz[i][j]= this.matriz[i][j]*a;
return r;
}
}
package encapsulamientoii;
public class MovRecUNi {
public Particula particula;

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

public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz x0, v0, a;
x0 = this.particula.getPosicionInicial();
posicion = new Matriz(x0.numeroFilas,x0.numeroColumnas);
v0 = this.particula.getVelocidadInicial();
a = this.particula.getAceleracion();
posicion = x0.suma(v0.multiplicaEscalar(t));
return posicion;
}

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

public Matriz calculoAceleracion(double t){
Matriz aceleracion = new Matriz(1,this.particula.getPosicionInicial().numeroColumnas);
for(int i = 0; i < aceleracion.numeroFilas; i++)
for(int j = 0; j < aceleracion.numeroColumnas; j++)
aceleracion.matriz[i][j] = 0;
return aceleracion;
}

public static void main(String args[]){
Matriz x0 = new Matriz(1,3);
x0.matriz[0][0]=5; x0.matriz[0][1]=0; x0.matriz[0][2]=-5;
Matriz v0 = new Matriz(1,3);
v0.matriz[0][0]=2; v0.matriz[0][1]=0; v0.matriz[0][2]=0;
Matriz a = new Matriz(1,3);
a.matriz[0][0]=0; a.matriz[0][1]=0; a.matriz[0][2]=0;
MovRecUNi m = new MovRecUNi(x0,v0,a);

Matriz x;
x = m.calcularPosicion(2);
Matriz v;
v = m.calculoVelocidad(2);
Matriz ac;
ac = m.calculoAceleracion(2);

System.out.println("la posicion inicial\n"+x0.imprimir());
System.out.println("la posicion final\n"+x.imprimir());
System.out.println("la velocidad inicial\n"+v0.imprimir());
System.out.println("la velocidad final\n"+v0.imprimir());
}
}

MRUV
public class Particula {
private Matriz posicionInicial;
private Matriz velocidadInicial;
private Matriz aceleracion;

public Particula(){}
public Particula(Matriz Xo, Matriz Vo, Matriz a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public Matriz getPosicionInicial(){
return posicionInicial;
}
public void setPosicionInicial(Matriz Xo){
posicionInicial = Xo;
}
public Matriz getAceleracion(){
return aceleracion;
}
public void setAceleracion(Matriz a){
aceleracion = a;
}
public Matriz getVelocidadInicial(){
return velocidadInicial;
}
public void setVelocidadInicial(Matriz Vo){
velocidadInicial = Vo;
}
}
package encapsulamientoii;
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 for(int j=0; j aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public String imprimir2(){
String aux ="";
aux=aux+"y1="+ matriz[0][0];
aux=aux+"\n";
aux=aux+"y2="+matriz[1][0];
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 < this.numeroFilas; 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 multiplicaEscalar(double a){
Matriz r= new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; i++)
for(int j = 0; j r.matriz[i][j]= this.matriz[i][j]*a;
return r;
}
}
package encapsulamientoii;
public class MRUVV {
public Particula particula;

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

public Matriz calcularPosicion(double t){
Matriz posicion;
Matriz x0, v0, a;
x0 = this.particula.getPosicionInicial();
posicion = new Matriz(x0.numeroFilas,x0.numeroColumnas);
v0 = this.particula.getVelocidadInicial();
a = this.particula.getAceleracion();
posicion = x0.suma(v0.multiplicaEscalar(t).suma(a.multiplicaEscalar(t*0.5*t)));
return posicion;
}

public Matriz calculoVelocidad(double t){
Matriz velocidad= particula.getVelocidadInicial();
Matriz x0, v0, a;
v0 = this.particula.getVelocidadInicial();
velocidad = new Matriz(v0.numeroFilas,v0.numeroColumnas);
x0 = this.particula.getPosicionInicial();
a = this.particula.getAceleracion();
velocidad = v0.suma(a.multiplicaEscalar(t));
return velocidad;
}

public Matriz calculoAceleracion(double t){
Matriz aceleracion = new Matriz(1,this.particula.getPosicionInicial().numeroColumnas);
for(int i = 0; i < aceleracion.numeroFilas; i++)
for(int j = 0; j < aceleracion.numeroColumnas; j++)
aceleracion.matriz[i][j] = 0;
return aceleracion;
}

public static void main(String args[]){
Matriz x0 = new Matriz(1,3);
x0.matriz[0][0]=4; x0.matriz[0][1]=0; x0.matriz[0][2]=-3;
Matriz v0 = new Matriz(1,3);
v0.matriz[0][0]=3; v0.matriz[0][1]=2; v0.matriz[0][2]=0;
Matriz a = new Matriz(1,3);
a.matriz[0][0]=3; a.matriz[0][1]=2; a.matriz[0][2]=2;
MRUVV m = new MRUVV(x0,v0,a);

Matriz x;
x = m.calcularPosicion(4);
Matriz v;
v = m.calculoVelocidad(4);
Matriz ac;
ac = m.calculoAceleracion(4);

System.out.println("la posicion inicial\n"+x0.imprimir());
System.out.println("la posicion final\n"+x.imprimir());
System.out.println("la velocidad inicial\n"+v0.imprimir());
System.out.println("la velocidad final\n"+v.imprimir());
System.out.println("la aceleracion inicial\n"+a.imprimir());
System.out.println("la aceleracion final\n"+a.imprimir());
}
}

martes, 14 de abril de 2009

MRU y MRUV

MRU
public class Particula {
private double posicionInicial;
private double velocidadInicial;
private double aceleracion;

public Particula(){}
public Particula(double Xo, double Vo, double a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public double getPosicionInicial(){
return posicionInicial;
}

public void setPosicionInicial(double Xo){
posicionInicial = Xo;
}

public double getAceleracion(){
return aceleracion;
}

public void setAceleracion(double a){
aceleracion = a;
}

public double getVelocidadInicial(){
return velocidadInicial;
}

public void setVelocidadInicial(double Vo){
velocidadInicial = Vo;
}
}
public class MovRecUNi {
public Particula particula;

public MovRecUNi(){}
public MovRecUNi(double Xo, double Vo, double a){
particula.setPosicionInicial(Xo);
particula.setVelocidadInicial(Vo);
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;
}
}
public class Prueba {
public static void main(String args[]){
Particula p = new Particula(0.0,0.0,0);
p.setVelocidadInicial(4);
p.setPosicionInicial(2);
p.setAceleracion(0);
System.out.println("Velocidad inicial\n"+p.getVelocidadInicial());
System.out.println("Posicion inicial\n"+p.getPosicionInicial());
System.out.println("Aceleracion\n"+p.getAceleracion());
MovRecUNi m = new MovRecUNi();
m.particula=p;
System.out.println("Posicion a t = 20\n"+m.calcularPosicion(20));
System.out.println("Velocidad a t = 20\n"+m.calculoVelocidad(20));
System.out.println("Aceleracion a t = 20\n"+m.calculoAceleracion(20));
}
}

MRUV


public class Particula2 {
private double posicionInicial;
private double velocidadInicial;
private double aceleracion;

public Particula2(){}
public Particula2(double Xo, double Vo, double a){
posicionInicial = Xo;
velocidadInicial = Vo;
aceleracion = a;
}

public double getPosicionInicial(){
return posicionInicial;
}

public void setPosicionInicial(double Xo){
posicionInicial = Xo;
}

public double getAceleracion(){
return aceleracion;
}

public void setAceleracion(double a){
aceleracion = a;
}

public double getVelocidadInicial(){
return velocidadInicial;
}

public void setVelocidadInicial(double Vo){
velocidadInicial = Vo;
}
}
public class MRUV {
public Particula2 particula;

public MRUV(){}
public MRUV(double Xo, double Vo, double a){
particula.setPosicionInicial(Xo);
particula.setVelocidadInicial(Vo);
particula.setAceleracion(a);
}

public double calcularPosicion(double t){
double posicion;
posicion = particula.getPosicionInicial()+particula.getVelocidadInicial()*t+particula.getAceleracion()*(0.5*t*t);
return posicion;
}

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

public double calculoAceleracion(double t){
double aceleracion = particula.getAceleracion();
return aceleracion;
}
}
public class Prueba2 {
public static void main(String args[]){
Particula2 p = new Particula2(0.0,0.0,0);
p.setVelocidadInicial(10);
p.setPosicionInicial(4);
p.setAceleracion(6);
MRUV m = new MRUV();
m.particula=p;
System.out.println("Posicion a t = 4\n"+m.calcularPosicion(4));
System.out.println("Velocidad a t = 4\n"+m.calculoVelocidad(4));
System.out.println("Aceleracion a t = 4\n"+m.calculoAceleracion(4));
}
}

lunes, 6 de abril de 2009

Evaluacion

1) Resolver

a) x1=-1; x2=2; x3=-3

b) x1=1; x2=0; x3=1; x4=0; x5=0;

2) Encontrar

a) a + b = | 4 2 4 |

b) a + b = | 0 4 4 |

c) a' * b =
| 4 -2 0 |
| 6 -3 0 |
| 8 -4 0 |

domingo, 5 de abril de 2009

Codigo Inversa y multiplicacion

public class Matriz {
int numfilas;
int numcolum;
double [][] matriz;

public Matriz (){}
public Matriz(int nF, int nC){
numfilas= nF;
numcolum= nC;
matriz= new double[numfilas][numcolum];
for(int i=0; i for(int j=0; j matriz[i][j]= 0;
}

public String imprimir(){
String aux = "";
for(int i=0; i for(int j=0; j aux = aux + matriz[i][j] +" ";
}
aux= aux +"\n";
}
return aux;
}

public Matriz multiplicacion(Matriz B){
Matriz r = new Matriz(this.numfilas,B.numcolum);
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;
}

public Matriz inversa(){
Matriz result=new Matriz(this.numfilas,this.numcolum);
double tmp;
Matriz I=new Matriz(this.numfilas,this.numcolum*2);
for(int i=0;i for(int j=0;j I.matriz[i][j]=0.0;
for(int i=0;i for(int j=0;j I.matriz[i][j]=this.matriz[i][j];
if (i==j)
I.matriz[i][j+this.numfilas]=1.0;
}
}
for(int i=0;i tmp=I.matriz[i][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k if(k!=i){
tmp=I.matriz[k][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i for(int j=0;j result.matriz[i][j]=I.matriz[i][j+this.numcolum];
return result;
}

public static void main(String args []){
Matriz m=new Matriz(2,2);
m.matriz[0][0]=1;
m.matriz[0][1]=1;
m.matriz[1][0]=-1;
m.matriz[1][1]=2;
System.out.println(m.imprimir());

Matriz b=new Matriz(2,2);
b.matriz[0][0]=1;
b.matriz[1][0]=0;
System.out.println(b.imprimir());

Matriz resultado;
resultado=m.inversa();
System.out.println(resultado.imprimir());

resultado=m.multiplicacion(b);
System.out.println(resultado.imprimir());

resultado=m.inversa().multiplicacion(b);
System.out.println(resultado.imprimir());
}
}

miércoles, 1 de abril de 2009

Inversa

public class Matriz {
int numfilas;
int numcolum;
double [][] matriz;

public Matriz (){}
public Matriz(int nF, int nC){
numfilas= nF;
numcolum= nC;
matriz= new double[numfilas][numcolum];
for(int i=0; i for(int j=0; j matriz[i][j]= 0;
}

public String imprimir(){
String aux = "";
for(int i=0; i for(int j=0; j aux = aux + matriz[i][j] +" ";
}
aux= aux +"\n";
}
return aux;
}

public Matriz multiplicacion(Matriz B){
Matriz r = new Matriz(this.numfilas,B.numcolum);
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;
}

public Matriz inversa(){
Matriz result=new Matriz(this.numfilas,this.numcolum);
double tmp;
Matriz I=new Matriz(this.numfilas,this.numcolum*2);
for(int i=0;i for(int j=0;j I.matriz[i][j]=0.0;
for(int i=0;i for(int j=0;j I.matriz[i][j]=this.matriz[i][j];
if (i==j)
I.matriz[i][j+this.numfilas]=1.0;
}
}
for(int i=0;i tmp=I.matriz[i][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k if(k!=i){
tmp=I.matriz[k][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i for(int j=0;j result.matriz[i][j]=I.matriz[i][j+this.numcolum];
return result;
}


public static void main(String args []){
Matriz m=new Matriz(2,2);
m.matriz[0][0]=1;
m.matriz[0][1]=-1;
m.matriz[1][0]=2;
m.matriz[1][1]=1;
System.out.println(m.imprimir());

Matriz b=new Matriz(2,2);
b.matriz[0][0]=3;
b.matriz[1][0]=-4;
System.out.println(b.imprimir());

Matriz resultado;
resultado=m.inversa();
System.out.println(resultado.imprimir());

resultado=m.multiplicacion(b);
System.out.println(resultado.imprimir());

resultado=m.inversa().multiplicacion(b);
System.out.println(resultado.imprimir());
}
}