martes, 1 de diciembre de 2009

Applet Suma de Matrices



Clase Matriz

import javax.swing.JOptionPane;
import java.text.DecimalFormat;

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

public Matriz(){
}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz=new double[numeroFilas][numeroColumnas];//construyo un sitio para almacenar ceros
for(int i=0;i < numeroFilas;i++)
for(int j=0; j < numeroColumnas; j++)
matriz [i][j]=0;
}
public Matriz suma(Matriz b){
Matriz resultado;
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
public void leer(){
String aux;
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < this.numeroColumnas; j++){
aux = JOptionPane.showInputDialog(null,"INGRESO DE VALORES","INGRESE EL VALOR: "+(i+1)+","+(j+1),JOptionPane.DEFAULT_OPTION);
this.matriz[i][j]=Double.parseDouble(aux);
}
}
}
public String toString(){
String aux="\n";
DecimalFormat df = new DecimalFormat("0.0000");
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux+=df.format(matriz[i][j])+" ";
}
aux+="\n";
}
aux+=" ";
return aux;
}
}

APPLET
public class OperacionesMatrices extends javax.swing.JApplet {

/** Initializes the applet OperacionesMatrices */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}

/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();

jPanel1.setBackground(new java.awt.Color(204, 255, 204));

jLabel1.setForeground(new java.awt.Color(255, 51, 51));
jLabel1.setText("Operaciones de Matrices");

jLabel2.setForeground(new java.awt.Color(255, 153, 255));
jLabel2.setText("Suma de Matrices");

jLabel3.setText("Matriz 1");

jLabel4.setText("Matriz 2");

jLabel5.setText("Numero de Filas");

jLabel6.setText("Numero de Columnas");

jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});

jTextField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField2ActionPerformed(evt);
}
});

jLabel7.setText("Numero Filas");

jLabel8.setText("Numero Columnas");

jTextField3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField3ActionPerformed(evt);
}
});

jButton1.setBackground(new java.awt.Color(204, 204, 255));
jButton1.setText("Suma");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(65, 65, 65)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel5)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jTextField2)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 44, Short.MAX_VALUE))
.addGap(58, 58, 58)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addComponent(jLabel8)
.addComponent(jLabel4)))
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(39, 39, 39)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField3)
.addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE)))
.addComponent(jLabel2)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(131, 131, 131)
.addComponent(jButton1))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(203, 203, 203)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(164, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(26, 26, 26)
.addComponent(jLabel2))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(58, 58, 58)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(43, 43, 43)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 242, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(23, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
}//


private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String aux = jTextField1.getText();
String aux1="";
int nF = Integer.parseInt(aux);
aux = jTextField2.getText();
int nC = Integer.parseInt(aux);
m1 = new Matriz(nF,nC);
m1.leer();
aux1 += m1.toString();
aux = jTextField3.getText();
nF = Integer.parseInt(aux);
aux = jTextField4.getText();
nC = Integer.parseInt(aux);
m2 = new Matriz(nF,nC);
m2.leer();
aux1 += m2.toString();
jTextArea1.setText("Suma de Matrices: \n Matriz 1 , Matriz 2"+aux1+(m1.suma(m2)).toString());
}

public Matriz m1;
public Matriz m2;
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
// End of variables declaration

}
RESULTADOS:

martes, 24 de noviembre de 2009

Applet Java

Nombre: Carolina Navarrete

Applet Java

Un applet Java es un componente de una aplicación que se ejecuta en el lenguaje de programación Java. Los applets corren en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets.

Una de sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles, a menos que se de los permisos necesarios en el sistema; la desventaja es que la entrega de permisos es demorosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web.
A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. El término fue introducido en AppleScript en 1993.

Ejemplos comunes de applets son las Java applets y las animaciones Flash. Otro ejemplo es el Windows Media Player utilizado para desplegar archivos de video incrustados en los navegadores como el Internet Explorer. Otros plugins permiten mostrar modelos 3D que funcionan con una applet, un applet se puede cargar y ejecutar desde cualquier explorador que soporte JAVA (Netscape, Internet Explorer de Windows, Mozilla Firefox...etc).

CICLO DE VIDA

Para seguir el ciclo de vida de un applet, supondremos que estamos ejecutando en un navegador el applet básico, a través de la página HTML que lo carga y corre.

Lo primero que aparece son "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es:

1. Se crea una instancia de la clase que controla al applet
2. El applet se inicializa a si mismo
3. Comienza la ejecución del applet
4. Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución.

El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización.

Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador.


Bibliografia: http://es.wikipedia.org/wiki/Applet

http://es.wikipedia.org/wiki/Applet_Java

http://www.cica.es/formacion/JavaTut/Cap2/vida.html

domingo, 22 de noviembre de 2009

MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO

Nombre: Carolina Navarrete

CLASE MATRIZ
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

public Matriz(){
}
//nF es el numero de filas
//nc es el numero de columnas
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;
}
//metodo de suma de matrices
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 < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
//metodo de multiplicacion de matrices
//retorna una matriz resultado resta
public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroFilas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("error en dimensiones de las matrices");
resultado = null;
return resultado;
}
//devuelve el objeto matriz en texto para poderlo imprimir
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}
}
CLASE VECTOR3D

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;
}
//segunda forma de hacer la magnitud
public double magnitud1(){
double resultado;
resultado = this.coordenadaX*this.coordenadaX+this.coordenadaY*this.coordenadaY+this.coordenadaZ*this.coordenadaZ;
resultado = Math.sqrt(resultado);
return resultado;
}
//tercera forma de hacer la magnitud
public double magnitud2(){
double resultado;
resultado = Math.pow(this.coordenadaX, 2)+Math.pow(this.coordenadaY, 2)+Math.pow(this.coordenadaZ, 2);
resultado = Math.sqrt(resultado);
return resultado;
}
public Matriz 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 Matriz 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 Matriz productoVectorEscalar(double a){
Vector3D resultado = new Vector3D();
for(int i = 0; i < 3; i++)
resultado.matriz[0][i] = this.matriz[0][i]*a;

return resultado;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-1, 1, -1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));
}
}
CLASE MOVIMIENTO RECTILINEO UNIFORMEMENTE VARIADO

public class MRUV extends Vector3D{
Matriz posicion;
Matriz velocidad inicial;
Matriz aceleracion;
Matriz desplazamiento;
Matriz velocidad final;
public MRUV(){
}

public MRUV (Vector3D pos, Vector3D vel0, Vector3D ace, Vector3D des){
posicion = pos;
velocidad inicial = vel0;
aceleracion = ace;
desplazamiento = des;
}
public void calcularPosicion(Vector3D ro, Vector3D vel0, Vector3D ace, double t){
posicion = ro.suma((vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t,2))).productoEscalarVector(1/2)));
}

public void calcularVelocidad(Vector3D vel0, double t, Vector3D ace){
velocidad final = vel0.suma(ace.productoEscalarVector(t));
}
public void calcularDesplazamiento(Vector3D vel0, double t, Vector3D ace){
desplazamiento = (vel0.productoEscalarVector(t)).suma((ace.productoEscalarVector(Math.pow(t, 2))).productoEscalarVector(1/2));
}

public static void main(String args[]){
MRUV m = new MRUV();
Vector3D r0 = new Vector3D (1,0,-1);
Vector3D vel0 = new Vector3D (0,8,0);
Vector3D ace = new Vector3D (-2,0,6);
double t = 4;
System.out.println("posicion a t = 4s rO = i-k v0 = 8j a = -2i+6k es: \n" +m.calcularPosicion(r0, vel0, ace, t));
System.out.println("velocidad a t = 4s v0 = 8j a = -2i+6k ES: \n" +m.calcularVelocidad(vel0, t, ace));
System.out.println("desplazamiento a t = 4s v0 = 8j a = -2i+6k es: \n" +m.calcularDesplazamiento(vel0, t, ace));
}

}

MOVIMIENTO RECTILINEO UNIFORME

Nombre: Carolina Navarrete

CLASE MATRIZ

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

//crea una matriz sin dimensiones
public Matriz(){
}
//constructor con parametros
//nF es el numero de filas
//nc es el numero de columnas
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;
}
//metodo de suma de matrices
//b es el primer sumando
//retorna una matriz resultado de suma
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 < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
//metodo de multiplicacion de matrices
//retorna una matriz resultado resta
public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroFilas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("error en dimensiones de las matrices");
resultado = null;
return resultado;
}
//devuelve el objeto matriz en texto para poderlo imprimir
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}
}
CLASE VECTOR3D

public class Vector3D extends Matriz {
private static Object v;
double coorX;
double coorY;
double coorZ;

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;
coorX = x;
coorY = y;
coorZ = z;
}
public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}

public double magnitud1(){
double resultado;
resultado = this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;

return resultado;
}
public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();

productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-1, 1, -1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));

}
}
CLASE MOVIMIENTO RECTILINERO UNIFORME

public class MovRecUni {
Matriz posicion;
Matriz velocidad;
Matriz aceleracion;

public MovRecUni(){
}
public MovRecUni(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}
public void calculaPosición(Vector3D r0, Vector3D vel,double t){
posicion = r0.suma(vel.productoVectorEscalar(t));

}
public void calculaVelocidad(Vector3D vel, double t){
velocidad = vel;
}
public void calculaAceleracion(double t){
Vector3D a = new Vector3D();
aceleracion = a;
}
public static void main(String args[]){
MovRecUni m = new MovRecUni();
Vector3D r0 = new Vector3D(1,0,-1);
Vector3D v = new Vector3D(0,5,0);
double t = 4;

m.calculaPosición(r0, v, t);
m.calculaVelocidad(v, t);
m.calculaAceleracion(t);
System.out.println("Posicion a los 2s para r0 = [i-k] y v0 =[5j] )\n
" +m.posicion+"\nvelocidad a t = 2s\n"+m.velocidad+"\n
aceleracion\n"+m.aceleracion );
}
}
RESULTADOS:

Posicion a los 4s para r0 = [i-k] y v0 =[5j] )
[1.0 10.0 -1.0 ]
velocidad a t = 2s
[0.0 5.0 0.0 ]
aceleracion
[0.0 0.0 0.0]

sábado, 14 de noviembre de 2009

Vector unitario, Producto escalar, Producto cruz

Nombre: Carolina Navarrete

Vector unitario, Producto Escalar,Producto

CLASE MATRIZ

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

//crea una matriz sin dimensiones
public Matriz(){
}

//constructor con parametros
//nF es el numero de filas
//nc es el numero de columnas
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;
}


//metodo de suma de matrices
//b es el primer sumando
//retorna una matriz resultado de suma
public Matriz suma(Matriz b){
Matriz resultado;

if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++)
for(int j=0; j < this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

//metodo de multiplicacion de matrices

public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas){
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroFilas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("error en dimensiones de las matrices");
resultado = null;
return resultado;
}
//devuelve el objeto matriz en texto para poderlo imprimir
public String toString(){
String aux="\n[\n";
for(int i=0; i < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux += matriz[i][j]+" ";
}
aux+="\n";
}
aux+= "]";
return aux;
}
}

Clase Vector

public class Vector3D extends Matriz {
private static Object v;
double coorX;
double coorY;
double coorZ;

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;
coorX = x;
coorY = y;
coorZ = z;
}

public double magnitud(){
double resultado = 0;
//double suma;
for(int i = 0; i < 3; i++ ){
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);
return resultado;
}

public double magnitud1(){
double resultado;
resultado =this.coorX*this.coorX+this.coorY*this.coorY+this.coorZ*this.coorZ;
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.magnitud();
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 double magnitud2(){
double resultado;
resultado = this.coorY*this.coorZ-this.coorY*this.coorZ;

return resultado;

}

public Vector3D productoCruz (Vector3D v){
Vector3D productocruz;
productocruz = new Vector3D();

productocruz.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
productocruz.matriz[0][1] = this.matriz[0][0]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][0];
productocruz.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return productocruz;
}

public static void main(String args[]){
Vector3D v1 = new Vector3D(-1, 1, -1);
Vector3D v2 = new Vector3D(0,2,0);
System.out.println(v1+"\n"+v2+"\n suma "+(v1.suma(v2)));
System.out.println("Coordenada x "+v1.coorX);
System.out.println(v1.magnitud()+"\n"+v1.magnitud1());
System.out.println(v1.unitario());
System.out.println((v1.unitario()).magnitud());
System.out.println("Producto escalar "+v1.productoEscalar(v2));
System.out.println("Producto cruz "+v1.productoCruz (v2));

}

}
Resultados :

Vector 1: [-1.0 1.0 -1.0 ]

Vector 2: [0.0 2.0 0.0 ]
suma

[-1.0 3.0 -1.0 ]

Coordenada x -1.0
1.7320508075688772
1.7320508075688772

Vector Unitario [-0.5773502691896258 0.5773502691896258 -0.5773502691896258 ]
Magnitud 1.0
Producto escalar 2.0

Producto cruz
[2.0 0.0 -2.0 ]

miércoles, 28 de octubre de 2009

Prueba de Programación

Nombre: Carolina Navarrete

public class Matriz {

public int numeroFilas;
public int numeroColumnas;
public double [][] matriz;

public Matriz (){

}
/**
* constructor con parametros
* @param nF
* @param nC
*/
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=i; j matriz [i][j]=0 ;

}
/**
* metodo de suma de matrices
* @param B es el primer sumando
* @return matriz resultado de suma
*/
public Matriz suma (Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&
(this.numeroColumnas==B.numeroColumnas)){
resultado =new Matriz(this.numeroFilas,this.numeroColumnas);
for (int i=0; i< this.numeroFilas;i++)
for(int j=0;j resultado.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimensiones de las matrices");
resultado = null;
return resultado;
}
}

/**
* metodo de suma de matrices
* @param B parametro del sustraendo
* @return la resta
*/

public Matriz resta (Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&
(this.numeroColumnas==B.numeroColumnas)){
resultado =new Matriz(this.numeroFilas,this.numeroColumnas);
for (int i=0; i< this.numeroFilas;i++)
for(int j=0;j resultado.matriz[i][j]=this.matriz[i][j]-B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimensiones de las matrices");
resultado = null;
return resultado;
}

}
public Matriz multiplicacion (Matriz B){
Matriz resultado;
if((this.numeroColumnas==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i< this.numeroFilas; i++ )
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;

}


public Matriz transpuesta() {
Matriz resultado;
resultado = new Matriz(this.numeroColumnas,this.numeroFilas);
for (int i=0;i < this.numeroFilas; i++)
for(int j=0 ; j< this.numeroColumnas; j++)
resultado.matriz[j][i]= this.matriz[i][j];
return resultado;

}
/**
* Devuelve el objeto matriz en texto
* @return
*/
public String toString(){
String aux ="[";
for (int i=0; i< numeroFilas; i++)
for (int j=0;j aux += matriz [i][j]+" ";
}
aux += "\n";
aux += "]";
return aux;
}
}
------------------------------------------------------------------


public class PruebaMatriz {
public static void main(String args[]){

Matriz c = new Matriz(2,3);
c.matriz[0][0]=2;c.matriz[0][1]=2; c.matriz[0][2]=1;
c.matriz[1][0]=3; c.matriz[1][1]=-1;c.matriz[1][2]=0;

System.out.println(c.toString());

Matriz b = new Matriz(5,3);
b.matriz[0][0]=6; b.matriz[0][1]=-2; b.matriz[0][2]=5;
b.matriz[1][0]=4; b.matriz[1][1]=2; b.matriz[1][2]=-1;
b.matriz[2][0]=0; b.matriz[2][1]=1; b.matriz[2][2]=1;
b.matriz[3][0]=-2; b.matriz[3][1]=-2; b.matriz[3][2]=0;
b.matriz[4][0]=1; b.matriz[4][1]=0; b.matriz[4][2]=-1;

System.out.println(b.toString());

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

Matriz e = new Matriz(3,3);
e.matriz[0][0]=-1; e.matriz[0][1]=0; e.matriz[0][2]=-1;
e.matriz[1][0]=1; e.matriz[1][1]=0; e.matriz[1][2]=1;
e.matriz[2][0]=-1; e.matriz[2][1]=1; e.matriz[2][2]=-1;


System.out.println(e.toString());


Matriz r1;
r1=c.multiplicacion(e);
Matriz bt;
bt=b.transpuesta ();
Matriz rt1;
rt1=r1.multiplicacion(bt);
System.out.println(rt1.toString());

}


}

---------------------------------------------

run:
[2.0 2.0 1.0 3.0 -1.0 0.0
]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
[6.0 -2.0 5.0 4.0 2.0 -1.0 0.0 1.0 1.0 -2.0 -2.0 0.0 1.0 0.0 -1.0
]
at Matriz.multiplicacion(Matriz.java:100)
[1.0 -1.0 0.0 1.0 1.0
at PruebaMatriz.main(PruebaMatriz.java:43)
]
[-1.0 0.0 -1.0 1.0 0.0 1.0 -1.0 1.0 -1.0
]
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)




domingo, 18 de octubre de 2009

Nombre: Carolina Navarrete
Curso: 3ºMecatrónica "A"


MULTIPLICACIÓN, SUMA, MATRIZ INVERSA, DE MATRICES


public class Matriz
{
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

/**
* Constructor sin parametros
*/

public Matriz(){

}

/**
* Contructor con parametros
* @param nF numero de filas
* @param nC numero de columnas
*/

public Matriz(int nF,int nC){

numeroFilas = nF;
numeroColumnas = nC;
matriz = new double[numeroFilas][numeroColumnas];


for(int i =0; i for(int j = 0; j< numeroColumnas; j++ )
matriz[i][j]=0;
}
/**
* Metodo de suma de matrices
* @param B primer sumando
* @return Matriz resultado de suma
*/
public Matriz suma(Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i< this.numeroFilas; i++ )
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;

} // this hace referencia al objeto futuro no creado
}



/**
* Debuelve el objeto matriz en texto
* @return
*/
public String toString(){
String aux ="[ ";
for(int i =0; i for(int j = 0; j< numeroColumnas; j++ ){
aux+=matriz[i][j]+" ";
}
aux+= "\n";
}
aux+="]";
return aux ;
}
}

*/
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

/**
* Constructor sin parametros
*/

public Matriz(){

}
/**
* Contructor con parametros
* @param nF numero de filas
* @param nC numero de columnas
*/

public Matriz(int nF,int nC){
numeroFilas = nF;
numeroColumnas = nC;
matriz = new double[numeroFilas][numeroColumnas];

for(int i =0; i for(int j = 0; j< numeroColumnas; j++ )
matriz[i][j]=0;
}
/**
* Metodo de suma de matrices
* @param B primer sumando
* @return Matriz resultado de suma
*/

-------------------------------------------------------------------------------------

public Matriz suma(Matriz B){
Matriz resultado;
if((this.numeroFilas==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i< this.numeroFilas; i++ )
for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [i][j] = this.matriz[i][j]+B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;

} // this hace referencia al objeto futuro no creado
}


-------------------------------------------------------------------------------------


public Matriz multiplicacion(Matriz B){
Matriz resultado;

if(this.numeroColumnas==B.numeroFilas){

resultado = new Matriz (this.numeroFilas,B.numeroColumnas);
for (int i = 0; i< numeroFilas; i++)
for (int j = 0; j< numeroColumnas; j++)

resultado.matriz[i][j] = this.matriz[i][j]*B.matriz[j][i];
return resultado;
}

else{
System.out.println("Error de dimención , el numero de columnas de" +
"la matriz A = al numero de filas de la matriz B");

resultado=null;
return resultado;

}
}


-------------------------------------------------------------------------------------
public Matriz transpuesta(){
Matriz resultado;
resultado = new Matriz (this.numeroFilas,this.numeroFilas);
for(int i =0; i for(int j = 0; j< this.numeroColumnas; j++ )
resultado.matriz [j][i] = this.matriz[i][j];
return resultado;

}


/**
* Debuelve el objeto matriz en texto
* @return
*/
public String toString(){
String aux ="[ ";
for(int i =0; i for(int j = 0; j< numeroColumnas; j++ ){
aux+=matriz[i][j]+" ";
}
aux+= "\n";
}
aux+="]";
return aux ;
}

}