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;
}
}
}
martes, 12 de mayo de 2009
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario