public class Perceptron {
public static void main(String[] args) {
matriz a = new matriz(1,3,-3,4);
a.obtenermatriz();
System.out.println("b");
matriz b = new matriz(3,1,-3,4);
b.obtenermatriz();
matriz resul = new matriz();
resul=a.multiplicar(b);
System.out.println("resl");
resul.obtenermatriz();
double res;
res=(resul.matrizsumada(resul))+0.5;
System.out.print("net: "+res); // resul.ingresar(0,0,-2);// resul.ingresar(0,1,1);// resul.ingresar(0,2,2);// resul.obtenermatriz();
}
}
/**
* @(#)matriz.java
*
*
* @Juan Carlos Lafuente
* @version 1.00 2009/3/18
*/
import java.math.*;
public class matriz {
int i,j,k;
int numFilas;
int numColumnas;
double matriz[][];
/********************************************************/
/* CONSTRUCTORES DE CLASE */
/********************************************************/
//Constructor de Matriz Vacia
matriz() {
}
//Constructor de Matriz Inicializado a CERO
matriz(int nf, int nc){
numFilas=nf;
numColumnas=nc;
matriz = new double [numFilas][numColumnas];
for(i=0; i
}
}
}
//Constructor de Matriz Inicializado con aleatorios a los limtes
public matriz(int nf, int nc, double a, double b){
numFilas=nf;
numColumnas = nc;
matriz = new double [numFilas][numColumnas];
for(i=0;i
// el cast se trunca y queda de (0-3)
matriz[i][j] = (int)((2)*Math.random()*2);
}
}
}
/********************************************************/
/* METODO DE MODIFICACION */
/********************************************************/
// modificamos individualmente el numero en cada posición
public void ingresar(int nf,int nc, double numero){
matriz[nf][nc] = numero;
}
/********************************************************/
/* METODO DE IMPRESION */
/********************************************************/
public void obtenermatriz(){
for(i=0; i
}
System.out.println("");
}
System.out.println("---------------------------------------");
}
/********************************************************/
/* OPERACIONES CON MATRICES */
/********************************************************/
//suma
public matriz suma(matriz b){
if(this.numFilas==b.numFilas&&this.numColumnas==b.numColumnas){
matriz result=new matriz(this.numFilas,this.numColumnas);
for(int i=0;i
}
}
return result;
}else{
mensajeError();
return null;
}
}
//resta
public matriz resta(matriz b){
if(this.numFilas==b.numFilas&&this.numColumnas==b.numColumnas){
matriz result=new matriz(this.numFilas,this.numColumnas);
for(int i=0;i
}
}
return result;
}else{
mensajeError();
return null;
}
}
//multiplicacion
public matriz multiplicar(matriz b){
if(this.numColumnas==b.numFilas){
matriz result=new matriz(this.numFilas,b.numColumnas);
for(int i=0;i
}
}
}
return result;
}else{
mensajeError();
return null;
}
}
//transpuesta acabar de corregir la transpuesta
public matriz transpuesta(){
matriz result=new matriz(this.numColumnas,this.numFilas);
for(int i=0;i
}
}
return result;
}
//multiplicar escalar
public matriz multiplicarEscalar(double alfa){
matriz result=new matriz(this.numFilas,this.numColumnas);
for(int i=0;i
}
}
return result;
}
//matrizsumada - se suman todos los elemntos de la matriz
public double matrizsumada(matriz b){
double resultado=0;
for(int i=0;i
}
}
return resultado;
}
/********************************************************/
/* MEMSAJES DE ERRORES */
/********************************************************/
private void mensajeError() {
System.out.println("\nError no es posible realizar esta operacion");
}
///metodo que me sirve para el mensaje de error
/*
//inversa de la matriz
public matriz matrizInversa(){
if(matriz.length==matriz[0].length){
matriz result=new matriz(this.matriz.length,this.matriz[0].length);
double tmp;
matriz inversa=new matriz(matriz.length,matriz[0].length*2);
for(int i=0;i
}
}
for(int i=0;i
if (i==j){
inversa.matriz[i][j+matriz.length]=1.0;
}
}
}
///////////////////////
for(int i=0;i
for(int j=0;j<(matriz[0].length*2);j++){
inversa.matriz[i][j]/=tmp;
}
for(int k=0;k
tmp=inversa.matriz[k][i];//toca revisar
for(int j=0;j<(matriz[i].length*2);j++){
inversa.matriz[k][j]-=tmp*inversa.matriz[i][j];
}
}
}
}
for(int i=0;i
return result;
}else{
mensajeError();
return null;
}
}*/
}
No hay comentarios:
Publicar un comentario