domingo, 15 de marzo de 2009

Ejercicios con dos vectores en java

public static void main(String[] args) {
int [] a;
int [] b;
double [] c;
a = new int [3];
b = new int [3];
c = new double [3];
double productocruz;
double magnitud1, magnitud2;
double angulo, angulo1, angulo2;
int suma;
int resta;
double productoescalar;
a[0]=1; a[1]=2; a[2]=3;
b[0]=2; b[1]=3; b[2]=4;

//suma
for(int i=0; i<3 ; i++)
c[i] = a[i] +b[i];

for(int i=0; i<3; i++)
System.out.print("la suma de los vectores es: " + c[i] + "\n");

//resta
for(int i=0; i<3 ; i++)
c[i] = a[i] -b[i];

for(int i=0; i<3; i++)
System.out.print("La resta de los vectores: " + c[i] + "\n");

//producto escalar
productoescalar = 0;
for(int i=0; i<3; i++)
productoescalar += a[i] *b[i];
System.out.println("El producto escalar es:: " + productoescalar);

//magnitud
magnitud1 = Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2));
magnitud2 = Math.sqrt(Math.pow(b[0],2)+Math.pow(b[1],2)+Math.pow(b[2],2));
System.out.println("La magnitud de a es: " + magnitud1);
System.out.println("La magnitud de b es: " + magnitud2);

//vector unitario
for(int i=0; i<3; i++)
c[i] = a[i]/productoescalar;
for(int i=0; i<3; i++)
System.out.println("El unitario de a es: " + c[i]);
for(int i=0; i<3; i++)
c[i] = b[i]/productoescalar;
for (int i=0; i<3; i++)
System.out.println("El unitario de b es: " + c[i]);

//angulo
angulo1 = Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)+Math.pow(a[2],2));
angulo2 = Math.sqrt(Math.pow(b[0],2)+Math.pow(b[1],2)+Math.pow(b[2],2));
angulo = Math.acos(productoescalar/(angulo1*angulo2));
System.out.println("El angulo es: " + angulo);

//producto cruz
productocruz = (((a[1] *b[2]) - (a[2] *b[1])) - ((a[0] *b[2]) - (b[0] *a[2])) + ((a[0] *b[1]) - (b[0] *a[1])));
System.out.println("El valor cruz es: " +productocruz);
}
}

RESOLUCION
run:
la suma de los vectores es: 3.0
la suma de los vectores es: 5.0
la suma de los vectores es: 7.0
La resta de los vectores: -1.0
La resta de los vectores: -1.0
La resta de los vectores: -1.0
El producto escalar es:: 20.0
La magnitud de a es: 3.7416573867739413
La magnitud de b es: 5.385164807134504
El unitario de a es: 0.05
El unitario de a es: 0.1
El unitario de a es: 0.15
El unitario de b es: 0.1
El unitario de b es: 0.15
El unitario de b es: 0.2
El angulo es: 0.12186756768575456
El valor cruz es: 0.0
BUILD SUCCESSFUL (total time: 2 seconds)

3 comentarios:

  1. me parece que esta muy bien explicado el codigo y las funciones muy, creo que podrias haber inicializado las variables en un solo reglon, asi seria menos lineas de codigo para escribir pero esta my bien el codigo...

    ResponderEliminar
  2. Esta muy bien estructurado el código. Pero en las respuestas seria bueno que salga como vectores.
    Pero esta muy bien

    ResponderEliminar
  3. el programa se entiende.. pero creo q a las variables podias inicializar a cero..

    ResponderEliminar