* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author program
*/
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){//crea una matriz sin dimensiones
}
//constructor con parametros
//nF es el numero de filas de la matriz
//nC es el numero de columnas de la matriz
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz=new double[numeroFilas][numeroColumnas];
for(int i=0; i
}
//Transpuesta de la matriz
//el numero de filas se cambia al numero de columnas
public Matriz Transpuesta(){
Matriz resultado;
resultado=new Matriz(this.numeroColumnas,this.numeroFilas);
for(int i=0; i
return resultado;
}
//multiplicacion de matrices
//el numero de filas de la primera tiene que ser igual al numero de columnas
//de la otra matriz
public Matriz Multiplicacion(Matriz b){
Matriz resultado;
if(b.numeroFilas==this.numeroColumnas){
resultado=new Matriz(this.numeroFilas, b.numeroColumnas);
for(int i=0; i
}
}
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
public Matriz suma(Matriz b){
Matriz resultado;
//primero revisamos que las filas y las columnas sean iguales
//this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
//metodo para imprimir las matrices
//devulve el objeto matriz como texto
public String toString(){
String aux="\n[\n";
for(int i=0; i
}
aux+="\n";
}
aux+="]";
return aux;
}
}
//-----------------------------------------------------------
public class Vector3D extends Matriz{
double coordenadaX;
double coordenadaY;
double coordenadaZ;
public Vector3D(){
super(1,3);
}
public Vector3D(double x, double y, double z){
super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coordenadaX = x;
coordenadaY = y;
coordenadaZ = z;
}
public double magnitud(){
double resultado = 0;
for(int i=0; i<3; i++)
{
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);return resultado;
}
public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i=0; i<3; i++)unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();
return unitario;}
public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i=0; i<3; i++)resultado += this.matriz[0][i]*v.matriz[0][i];
return resultado;
}
public Vector3D productoCruz(Vector3D v){
Vector3D resultado;
resultado = new Vector3D();
resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];
resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return resultado;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-3,6,0);
Vector3D v2 = new Vector3D(0,4,5);
System.out.println(v1+"\n"+v2);
System.out.println(" La coordenada X es : "+v1.coordenadaX);
System.out.println("\n Suma de vectores: "+(v1.suma(v2)));
System.out.println("\n Vector magnitud es: "+v1.magnitud());
System.out.println("\n Vector unitario: "+v1.unitario());
System.out.println("\n Producto escalar es: "+v1.productoEscalar(v2));
System.out.println("\n Producto cruz es: "+v1.productoCruz(v2));
}
}
hola jarra los fors estan incompletos:
ResponderEliminarfor(int i=0; i for(int j=0; j for(int k=0; k
deberian ser asi:
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroColumnas; k++)
Hola puedes sacar la magnitud con esta forma tambien...
ResponderEliminarpublic double magnitud1(){
double resultado;
resultado = Math.pow(this.coorX,2)+Math.pow(this.coorY,2)+Math.pow(this.coorZ,2);
resultado = Math.sqrt(resultado);
return resultado;
}