亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? matrix.java

?? Java游戲高級編程?。『懿诲e的?。?!Java游戲高級編程!!很不錯的
?? JAVA
字號:
     package com.croftsoft.apps.insight;

     import java.awt.Point;

     public class Matrix {
     //////////////////////////////////////////////////////////////////////
     // Matrix.java v0.0 (C) Copyright 1996 David Wallace Croft.
     // 1996-08-24
     //////////////////////////////////////////////////////////////////////

     int             rows;
     int             columns;
     double [ ] [ ]  data;

     public Matrix ( int  rows, int  columns ) {
     //////////////////////////////////////////////////////////////////////
     // Constructor method
     //////////////////////////////////////////////////////////////////////
       this.rows    = rows;
       this.columns = columns;
       this.data    = new double [ rows ] [ columns ];
     }

     public Matrix ( Matrix  old ) {
     //////////////////////////////////////////////////////////////////////
     // Constructor method
     //////////////////////////////////////////////////////////////////////
       this ( old.rows, old.columns );
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
         for ( int index_col = 0; index_col < this.columns; index_col++ ) {
           this.data [ index_row ] [ index_col ]
             = old.data [ index_row ] [ index_col ];
         }
       }
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public Matrix  add ( double  addend ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ] += addend;
       }
       }
       return new_Matrix;
     }

     public Matrix  add ( Matrix  addend ) {
     //////////////////////////////////////////////////////////////////////
       if ( ( this.rows    != addend.rows    )
         || ( this.columns != addend.columns ) ) {
         throw new ArrayIndexOutOfBoundsException (
           "Matrix.add ( Matrix ):  columns and rows not equal" );
       }
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           += addend.data [ index_row ] [ index_col ];
       }
       }
       return new_Matrix;
     }

     public double [ ]  array_column ( int  column ) {
     //////////////////////////////////////////////////////////////////////
       double [ ]  arr_col = new double [ this.rows ];
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows; index_row++ ) {
         arr_col [ index_row ] = this.data [ index_row ] [ column ];
       }
       return arr_col;
     }

     public Matrix  clip ( double  min, double  max ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         if ( this.data [ index_row ] [ index_col ] < min )
           new_Matrix.data [ index_row ] [ index_col ] = min;
         else if ( this.data [ index_row ] [ index_col ] > max )
           new_Matrix.data [ index_row ] [ index_col ] = max;
       }
       }
       return new_Matrix;
     }

     static public void  demo ( ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  left  = new Matrix ( 2, 3 );
       Matrix  right = new Matrix ( 3, 4 );
       for ( int index_row = 0; index_row < left.rows; index_row++ ) {
         for ( int index_col = 0; index_col < left.columns; index_col++ ) {
           left.data [ index_row ] [ index_col ] = index_row + index_col;
         }
       }
       for ( int index_row = 0; index_row < right.rows; index_row++ ) {
         for ( int index_col = 0; index_col < right.columns; index_col++ ) {
           right.data [ index_row ] [ index_col ] = index_row + index_col;
         }
       }
       left.display ( );
       System.out.println ( "" );
       right.display ( );
       System.out.println ( "" );
       Matrix  product = multiply ( left, right );
       product.display ( );
       System.out.println ( "" );
       Matrix  transposed = product.transpose ( );
       transposed.display ( );
       System.out.println ( "" );
       Matrix  sigmoided = transposed.sigmoid ( );
       sigmoided.display ( );
     }

     public void  display ( ) {
     //////////////////////////////////////////////////////////////////////
       String  line_String;
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows; index_row++ ) {
         line_String = "";
         for ( int index_col = 0; index_col < this.columns; index_col++ ) {
           line_String += this.data [ index_row ] [ index_col ] + " ";
         }
         System.out.println ( line_String );
       }
     }

     public Matrix  divide ( double  factor ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ] /= factor;
       }
       }
       return new_Matrix;
     }

     static public Matrix  identity ( Matrix  old ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( old.rows, old.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < old.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < old.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ] = 1.0;
       }
       }
       return new_Matrix;
     }

     public Point  max_indices ( ) {
     //////////////////////////////////////////////////////////////////////
       int  max_row = 0;
       int  max_col = 0;
     //////////////////////////////////////////////////////////////////////
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
         if ( this.data [ index_row ] [ index_col ]
           > this.data [ max_row ] [ max_col ] ) {
           max_row = index_row;
           max_col = index_col;
         }
       }
       }
       return new Point ( max_row, max_col );
     }

     public Matrix  multiply ( double  factor ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ] *= factor;
       }
       }
       return new_Matrix;
     }

     public Matrix  multiply ( Matrix  right ) {
     //////////////////////////////////////////////////////////////////////
       return multiply ( this, right );
     }

     static public Matrix  multiply ( Matrix  left, Matrix  right ) {
     //////////////////////////////////////////////////////////////////////
       if ( left.columns != right.rows ) {
         throw new ArrayIndexOutOfBoundsException (
           "Matrix.multiply:  left.columns != right.rows" );
       }
       Matrix  product = new Matrix ( left.rows, right.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < product.rows; index_row++ ) {
         for ( int index_col = 0; index_col < product.columns; index_col++ ) {
           product.data [ index_row ] [ index_col ] = 0.0;
           for ( int index = 0; index < left.columns; index++ ) {
             product.data [ index_row ] [ index_col ]
               += left.data [ index_row ] [ index ]
               * right.data [ index ] [ index_col ];
           }
         }
       }
       return product;
     }

     static public Matrix  multiply_elements ( Matrix  a, Matrix  b ) {
     //////////////////////////////////////////////////////////////////////
       if ( ( a.rows != b.rows ) || ( a.columns != b.columns ) ) {
         throw new ArrayIndexOutOfBoundsException (
           "Matrix.multiply_pairwise:  rows or columns not equal" );
       }
       Matrix  product = new Matrix ( a.rows, a.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < a.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < a.columns; index_col++ ) {
         product.data [ index_row ] [ index_col ]
           = a.data [ index_row ] [ index_col ]
           * b.data [ index_row ] [ index_col ];
       }
       }
       return product;
     }

     public Matrix  randomize_uniform ( double  min, double  max ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this.rows, this.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           = Croft_Random.uniform ( min, max );
       }
       }
       return new_Matrix;
     }

     public Matrix  sigmoid ( ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this.rows, this.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           = Croft_Math.sigmoid ( this.data [ index_row ] [ index_col ] );
       }
       }
       return new_Matrix;
     }

     public Matrix  sigmoid_derivative ( ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this.rows, this.columns );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           = Croft_Math.sigmoid_derivative
           ( this.data [ index_row ] [ index_col ] );
       }
       }
       return new_Matrix;
     }

     public Matrix  square_elements ( ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  new_Matrix = new Matrix ( this.rows, this.columns );
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           = this.data [ index_row ] [ index_col ]
           * this.data [ index_row ] [ index_col ];
       }
       }
       return new_Matrix;
     }

     public Matrix  sub_matrix (
       int  row_start, int  row_end,
       int  col_start, int  col_end ) {
     //////////////////////////////////////////////////////////////////////
     //  Note that the first row is row 0.
     //////////////////////////////////////////////////////////////////////
       Matrix  sub
         = new Matrix ( row_end - row_start + 1, col_end - col_start + 1 );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < sub.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < sub.columns; index_col++ ) {
         sub.data [ index_row ] [ index_col ]
           = this.data [ index_row + row_start ] [ index_col + col_start ];
       }
       }
       return sub;
     }

     public Matrix  subtract ( Matrix  subtractor ) {
     //////////////////////////////////////////////////////////////////////
       if ( ( this.rows    != subtractor.rows    )
         || ( this.columns != subtractor.columns ) ) {
         throw new ArrayIndexOutOfBoundsException (
           "Matrix.subtract ( Matrix ):  columns and rows not equal" );
       }
       Matrix  new_Matrix = new Matrix ( this );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         new_Matrix.data [ index_row ] [ index_col ]
           -= subtractor.data [ index_row ] [ index_col ];
       }
       }
       return new_Matrix;
     }

     public double  sum ( ) {
     //////////////////////////////////////////////////////////////////////
       double  temp = 0.0;
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0; index_row < this.rows   ; index_row++ ) {
       for ( int index_col = 0; index_col < this.columns; index_col++ ) {
         temp += this.data [ index_row ] [ index_col ];
       }
       }
       return temp;
     }

     public Matrix  transpose ( ) {
     //////////////////////////////////////////////////////////////////////
       Matrix  transposed = new Matrix ( this.columns, this.rows );
     //////////////////////////////////////////////////////////////////////
       for ( int index_row = 0;
                 index_row < transposed.rows;
                 index_row++ ) {
         for ( int index_col = 0;
                   index_col < transposed.columns;
                   index_col++ ) {
           transposed.data [ index_row ] [ index_col ]
             = this.data [ index_col ] [ index_row ];
         }
       }
       return transposed;
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av网站一区二区三区| 亚洲美女在线国产| 久99久精品视频免费观看| 精品1区2区3区| 亚洲国产精品一区二区www| 在线观看区一区二| 日本欧美在线观看| 亚洲精品在线电影| 成人一区二区三区视频在线观看| 中文字幕欧美激情一区| 成人美女视频在线观看18| 麻豆精品国产传媒mv男同| www欧美成人18+| 波多野结衣中文一区| 伊人性伊人情综合网| 欧美日产国产精品| 国产综合久久久久久久久久久久| 中文字幕亚洲在| 欧美性欧美巨大黑白大战| 秋霞影院一区二区| 久久综合久久综合亚洲| 播五月开心婷婷综合| 午夜成人免费电影| 久久亚洲综合av| 日本道色综合久久| 久久精品国产精品亚洲红杏| 国产精品毛片高清在线完整版| 91麻豆国产精品久久| 天使萌一区二区三区免费观看| 精品国产电影一区二区| 色呦呦国产精品| 蜜臀av性久久久久蜜臀av麻豆| 中文一区二区在线观看| 欧美精品在线视频| 国产·精品毛片| 午夜a成v人精品| 日本一区二区久久| 91精品午夜视频| av资源站一区| 久久99精品视频| 亚洲综合另类小说| 国产欧美日韩在线观看| 欧美疯狂做受xxxx富婆| 成人动漫av在线| 美女精品自拍一二三四| 亚洲一区二区三区激情| 国产精品久久久久久久久免费桃花| 91精品国产综合久久香蕉的特点| 成人av高清在线| 精品一区二区三区视频| 亚洲午夜久久久久久久久久久| 久久亚洲精品小早川怜子| 欧美日韩成人在线| 日本韩国欧美一区二区三区| 国产精品一二三区| 麻豆精品一区二区av白丝在线| 一区二区三区**美女毛片| 中文字幕成人av| 久久久久久影视| 日韩一区二区三区四区| 在线看国产一区| 99国产精品久久久久久久久久久| 狠狠色综合播放一区二区| 日韩中文字幕91| 亚洲国产日韩精品| 亚洲精品国产品国语在线app| 日本一区二区成人在线| 精品久久久久久久一区二区蜜臀| 欧美偷拍一区二区| 欧美优质美女网站| 91国产福利在线| 91麻豆国产香蕉久久精品| 91视频免费播放| 91色乱码一区二区三区| 成人18视频在线播放| 从欧美一区二区三区| 懂色av中文一区二区三区| 国产麻豆精品theporn| 国内精品久久久久影院一蜜桃| 麻豆视频一区二区| 九色porny丨国产精品| 麻豆成人在线观看| 精品影视av免费| 国产一区二区三区在线观看免费视频 | 久久久91精品国产一区二区精品| 亚洲精品一区二区三区99| 亚洲精品一区二区三区四区高清| 精品国产乱码久久久久久免费 | 色偷偷88欧美精品久久久| 92精品国产成人观看免费| 91热门视频在线观看| 一本色道久久综合亚洲91 | 中文字幕亚洲精品在线观看| 国产精品国产精品国产专区不蜜| 亚洲免费观看高清在线观看| 亚洲一卡二卡三卡四卡无卡久久| 亚洲国产精品嫩草影院| 日本欧美在线观看| 国产精品一区在线观看你懂的| 成熟亚洲日本毛茸茸凸凹| av成人动漫在线观看| 91精品福利视频| 91精品麻豆日日躁夜夜躁| 久久天堂av综合合色蜜桃网| 国产精品日韩精品欧美在线| 亚洲免费资源在线播放| 天天色天天操综合| 国产精品羞羞答答xxdd| 97久久超碰国产精品| 欧美日韩精品一区二区三区蜜桃| 欧美成人综合网站| 国产精品久久久久影视| 国产一区二区三区观看| 日韩精品一二三四| 欧美一区二区精品久久911| 欧美色老头old∨ideo| 精品少妇一区二区三区日产乱码 | 6080yy午夜一二三区久久| 国产精品久久免费看| 激情综合网激情| 在线播放一区二区三区| 亚洲精品国产第一综合99久久| 国产成人自拍网| 精品日韩在线一区| 日韩不卡手机在线v区| 欧美亚洲一区二区在线观看| 亚洲欧洲韩国日本视频| 丁香一区二区三区| 日本一区二区三区在线不卡| 国产精品1区2区3区| 精品国产免费一区二区三区四区| 日韩电影一二三区| 欧美一级生活片| 青椒成人免费视频| 欧美一级xxx| 久久精品噜噜噜成人88aⅴ| 欧美一区二区三区公司| 视频在线观看国产精品| 7878成人国产在线观看| 午夜激情一区二区| 在线播放/欧美激情| 日韩黄色免费电影| 91精品国产一区二区三区香蕉| 三级久久三级久久| 777精品伊人久久久久大香线蕉| 视频一区二区中文字幕| 欧美一区二区在线播放| 免费在线观看不卡| 日韩亚洲欧美在线| 国产真实乱偷精品视频免| 久久久高清一区二区三区| 福利一区福利二区| 亚洲欧美在线视频观看| 99精品视频一区| 亚洲一卡二卡三卡四卡五卡| 69p69国产精品| 国产在线日韩欧美| 国产精品入口麻豆原神| 91国产精品成人| 免费在线看一区| 久久久久久免费| 99久久精品国产导航| 亚洲国产欧美日韩另类综合| 欧美一区二区三区在线电影| 国产一区二区福利| 中文字幕在线不卡视频| 欧美日韩三级视频| 狠狠色丁香婷婷综合| 国产精品乱子久久久久| 欧美性色黄大片| 国产一区二区精品在线观看| 亚洲免费在线观看视频| 91精品国产色综合久久| 风间由美一区二区三区在线观看| 亚洲欧美激情小说另类| 欧美一区二区精美| 97精品久久久久中文字幕| 午夜视频在线观看一区| 久久久精品综合| 欧美视频一区二区三区在线观看 | 国产成人综合在线观看| 亚洲免费观看高清完整版在线| 欧美一二三区在线观看| 国产日韩欧美a| 欧美日韩一区二区三区四区五区| 经典一区二区三区| 亚洲精品少妇30p| 精品免费日韩av| 91黄色小视频| 国产一区免费电影| 亚洲一区二区三区美女| 中文在线一区二区| 日韩视频免费观看高清完整版在线观看 | 中文字幕精品三区| 欧美夫妻性生活| 91浏览器入口在线观看| 精品午夜久久福利影院| 亚洲一区二区欧美日韩| 国产精品电影院| 精品毛片乱码1区2区3区|