martes, 12 de mayo de 2009

HERENCIA

Herencia

public class Vector extends Matriz{

public Vector(){

}
public Vector(int numElementos){
numeroFilas=1;
numeroColumnas=numElementos;
matriz = new double[numeroFilas][numeroColumnas];
}
public Vector( int nF, int nC){
super(nF,nC);
}
public Matriz productoCruz(Vector X){

Matriz resultado;
resultado = X.transpueta();
resultado = this.multiplica(resultado);
return resultado;
}
public static void main (String [] args){

Vector v = new Vector(1,3);
v.matriz[0][0]=1;
v.matriz[0][1]=0;
v.matriz[0][2]=1;
//v.transpueta();
System.out.println(v.transpueta().imprimir());

Vector v1 = new Vector(1,3);
v1.matriz[0][0]=1;
v1.matriz[0][1]=2;
v1.matriz[0][2]=3;

Matriz respuesta;
respuesta=v.productoCruz(v1);

System.out.println(v1.transpueta().imprimir());
System.out.print(v.suma(v1).imprimir());
System.out.println("resultado del producto cruz\n"+respuesta.imprimir());
//System.out.print("producto escalar"+v.productoEscalar(v1));
}
}
APLICACIÓN:
public class OperacionesMatriz extends javax.swing.JFrame {
String aux="";
public OperacionesMatriz() {
initComponents();
}


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
double x1=Double.parseDouble(jTextField1.getText());
double y1=Double.parseDouble(jTextField2.getText());
double z1=Double.parseDouble(jTextField3.getText());
double x2=Double.parseDouble(jTextField4.getText());
double y2=Double.parseDouble(jTextField5.getText());
double z2=Double.parseDouble(jTextField6.getText());
Matriz v1 =new Matriz (1,3);
Matriz v2=new Matriz(1,3);
v1.matriz[0][0]=x1;v1.matriz[0][1]=y1;v1.matriz[0][2]=z1;
v2.matriz[0][0]=x2;v2.matriz[0][1]=y2;v2.matriz[0][2]=z2;
aux="El resultado de la suma es:\n";
aux+=(v1.suma(v2)).imprimir();
jTextArea1.setText(aux);

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
double x1=Double.parseDouble(jTextField1.getText());
double y1=Double.parseDouble(jTextField2.getText());
double z1=Double.parseDouble(jTextField3.getText());
double x2=Double.parseDouble(jTextField4.getText());
double y2=Double.parseDouble(jTextField5.getText());
double z2=Double.parseDouble(jTextField6.getText());
Matriz v1 =new Matriz (1,3);
Matriz v2=new Matriz(1,3);
v1.matriz[0][0]=x1;v1.matriz[0][1]=y1;v1.matriz[0][2]=z1;
v2.matriz[0][0]=x2;v2.matriz[0][1]=y2;v2.matriz[0][2]=z2;
aux="El resultado de la resta es:\n";
aux+=(v1.resta(v2)).imprimir();
jTextArea1.setText(aux);
}



private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
double x1=Double.parseDouble(jTextField1.getText());
double y1=Double.parseDouble(jTextField2.getText());
double z1=Double.parseDouble(jTextField3.getText());
double x2=Double.parseDouble(jTextField4.getText());
double y2=Double.parseDouble(jTextField5.getText());
double z2=Double.parseDouble(jTextField6.getText());
Matriz v1 =new Matriz(1,3);
Matriz v2=new Matriz(1,3);
v1.matriz[0][0]=x1;v1.matriz[0][1]=y1;v1.matriz[0][2]=z1;
v2.matriz[0][0]=x2;v2.matriz[0][1]=y2;v2.matriz[0][2]=z2;


aux="El producto vectorial es:\n";
aux+=(v1.productoVectorial(v2)).imprimir();
jTextArea1.setText(aux);

}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
double x1=Double.parseDouble(jTextField1.getText());
double y1=Double.parseDouble(jTextField2.getText());
double z1=Double.parseDouble(jTextField3.getText());
double x2=Double.parseDouble(jTextField4.getText());
double y2=Double.parseDouble(jTextField5.getText());
double z2=Double.parseDouble(jTextField6.getText());
Matriz v1 =new Matriz(1,3);
Matriz v2=new Matriz(1,3);
v1.matriz[0][0]=x1;v1.matriz[0][1]=y1;v1.matriz[0][2]=z1;
v2.matriz[0][0]=x2;v2.matriz[0][1]=y2;v2.matriz[0][2]=z2;

aux="El producto escalar es:\n";
aux+=(v1.productoEscalar(v2)).imprimir();
jTextArea1.setText(aux);

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
double x1=Double.parseDouble(jTextField1.getText());
double y1=Double.parseDouble(jTextField2.getText());
double z1=Double.parseDouble(jTextField3.getText());
double x2=Double.parseDouble(jTextField4.getText());
double y2=Double.parseDouble(jTextField5.getText());
double z2=Double.parseDouble(jTextField6.getText());
Matriz v1 =new Matriz(1,3);
Matriz v2=new Matriz(1,3);
v1.matriz[0][0]=x1;v1.matriz[0][1]=y1;v1.matriz[0][2]=z1;
v2.matriz[0][0]=x2;v2.matriz[0][1]=y2;v2.matriz[0][2]=z2;


aux="El resultado del vector unitario es:\n";
aux+=v1.vectorUnitario().imprimir();
aux+=v.vectorUnitario().imprimir();
jTextArea1.setText(aux);

}

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 Matriz productoEscalar(Matriz B){
if((this.numeroFilas==1)&(B.numeroFilas==1)&(this.numeroColumnas==3)&(B.numeroColumnas==3)){

Matriz r = new Matriz(this.numeroColumnas,this.numeroFilas);

for (int i = 0; i < this.numeroColumnas; i++)

r.matriz[0][i] += this.matriz[0][i]*B.matriz[0][i];
return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden obtener producto escalar");
return r;
}
}


public Matriz vectorUnitario(){
if((this.numeroFilas==1)&(this.numeroColumnas==3)){
Matriz r = new Matriz(1,3);

for (int i = 0; i < this.numeroColumnas; i++)

r.matriz[0][i] = this.matriz[0][i]/Math.sqrt((Math.pow(this.matriz[0][0],2)+Math.pow(this.matriz[0][1],2)+Math.pow(this.matriz[0][2],2)));
return r;
}

else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden obtener el vector unitario");
return r;
}
}




public Matriz productoVectorial(Matriz B){
if((this.numeroFilas==1)&(B.numeroFilas==1)&(this.numeroColumnas==3)&(B.numeroColumnas==3)){
Matriz r = new Matriz(this.numeroColumnas,this.numeroFilas);
r.matriz[0][0]=(this.matriz[0][1]*B.matriz[0][2])-(B.matriz[0][1]*this.matriz[0][2]);
r.matriz[0][1]=-(this.matriz[0][0]*B.matriz[0][2])-(B.matriz[0][0]*this.matriz[0][2]);
r.matriz[0][2]=(this.matriz[0][0]*B.matriz[0][1])-(B.matriz[0][0]*this.matriz[0][1]);


return r;
}
else{
Matriz r = new Matriz (1,1);
System .out.println("No se pueden obtener el Producto vectorial");
return r;
}
}


}

No hay comentarios:

Publicar un comentario