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

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

?? matrix.java

?? CroftSoft Code Library是一個開源的可移植的純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精品久久| 亚洲bdsm女犯bdsm网站| av一区二区不卡| 2023国产一二三区日本精品2022| 一区二区三区四区不卡在线| 精品国产免费一区二区三区香蕉| 国产精品123| 亚洲婷婷在线视频| 精品人在线二区三区| 国产91精品一区二区麻豆网站 | 久久久久9999亚洲精品| 国产精品自在欧美一区| 欧美不卡一区二区三区| 国产精品一二三四| 日韩中文字幕av电影| 亚洲v日本v欧美v久久精品| 日韩欧美高清在线| 99视频国产精品| 国产福利91精品| 天天色天天爱天天射综合| 欧美激情一区二区三区四区| 欧美日韩国产综合草草| 91啪九色porn原创视频在线观看| 国产真实精品久久二三区| 亚洲综合丁香婷婷六月香| 日韩久久精品一区| 亚洲国产高清在线观看视频| 日韩午夜精品视频| 欧美日韩在线播放三区| youjizz国产精品| 1024亚洲合集| jizzjizzjizz欧美| 国产一区二区91| 免费精品视频最新在线| 成人午夜视频在线观看| 久久精品水蜜桃av综合天堂| 亚洲国产精品一区二区www| 国产亚洲一区字幕| 国产91精品在线观看| 国产日韩欧美a| 91尤物视频在线观看| 亚洲免费在线观看视频| 欧美性猛交xxxxxxxx| 午夜视频在线观看一区二区三区| 91精品国产欧美一区二区18| 久久久精品一品道一区| 精品第一国产综合精品aⅴ| 日韩欧美精品在线视频| 久久久久久久久伊人| 欧美高清在线视频| 亚洲图片欧美激情| 精品美女被调教视频大全网站| 日韩午夜激情电影| 精品国产乱码91久久久久久网站| 国产日韩欧美电影| 伊人婷婷欧美激情| 亚洲v日本v欧美v久久精品| 乱一区二区av| 99国产精品国产精品久久| 欧美日韩一区成人| 久久久久一区二区三区四区| 亚洲国产乱码最新视频| 美女一区二区三区在线观看| 一本色道a无线码一区v| 欧美不卡在线视频| 亚洲成精国产精品女| 成人免费三级在线| 久久久久久久久久电影| 亚洲女同一区二区| 国模娜娜一区二区三区| 欧美在线观看一区二区| 日韩精品一区二区三区中文不卡| 亚洲午夜在线观看视频在线| 久久av资源网| 成人精品小蝌蚪| 久久国内精品自在自线400部| 不卡的av电影| 国产精品伦理在线| 91视频一区二区三区| 91视频xxxx| 色哟哟精品一区| 制服丝袜av成人在线看| 成人美女视频在线看| 亚洲va欧美va国产va天堂影院| 欧美国产日韩a欧美在线观看| 在线不卡免费欧美| 色婷婷激情久久| 成人国产亚洲欧美成人综合网| 日本午夜精品一区二区三区电影| 在线视频中文字幕一区二区| 国产精品嫩草影院av蜜臀| 狠狠网亚洲精品| 中文字幕亚洲综合久久菠萝蜜| 欧美亚洲动漫精品| 日韩成人一区二区三区在线观看| 在线视频欧美精品| 亚洲成av人片| 日韩精品一区二区三区中文不卡| 国内精品国产成人国产三级粉色 | 午夜国产精品一区| 欧美午夜一区二区| 丁香一区二区三区| 国产成人免费在线| 国产传媒欧美日韩成人| 极品少妇xxxx精品少妇| 久久99国产精品成人| 免费观看91视频大全| 丝袜国产日韩另类美女| 香蕉影视欧美成人| 五月开心婷婷久久| 日本欧美一区二区三区| 青青青爽久久午夜综合久久午夜| 天天av天天翘天天综合网 | 日韩理论电影院| 成人欧美一区二区三区黑人麻豆 | 久久精品欧美日韩| 国产日韩欧美综合一区| 久久先锋影音av鲁色资源网| wwwwww.欧美系列| 国产精品免费av| 亚洲欧美日韩中文播放 | 欧美日韩三级在线| 制服丝袜中文字幕一区| 精品久久久久久久久久久久久久久久久| 日韩无一区二区| 国产午夜亚洲精品理论片色戒 | 国产精品免费av| 亚洲一区国产视频| 亚洲成av人影院在线观看网| 香蕉久久夜色精品国产使用方法 | 成人中文字幕电影| 97久久人人超碰| 欧美日韩免费视频| 久久这里只精品最新地址| 国产嫩草影院久久久久| 亚洲靠逼com| 日本成人在线视频网站| 国产精品资源网| 日本韩国欧美一区二区三区| 日韩一级完整毛片| 国产精品欧美极品| 午夜av区久久| 国产精品理论在线观看| 亚洲视频资源在线| 亚洲与欧洲av电影| 久久国产精品99久久久久久老狼| 久久精品国产一区二区三区免费看| 激情综合网av| 欧美综合天天夜夜久久| 精品噜噜噜噜久久久久久久久试看 | 日韩一级在线观看| 国产欧美日韩在线| 性做久久久久久免费观看欧美| 久久电影网电视剧免费观看| 国产+成+人+亚洲欧洲自线| 国产白丝精品91爽爽久久| 91国产丝袜在线播放| 久久人人超碰精品| 久久精品久久精品| 国产网站一区二区三区| 国产福利不卡视频| 精品国产免费视频| 最新不卡av在线| 日韩和欧美一区二区| av网站一区二区三区| 精品在线观看视频| 激情五月婷婷综合网| 另类中文字幕网| 精一区二区三区| 欧美日韩国产经典色站一区二区三区 | 在线观看视频一区二区欧美日韩| 91精品国产欧美一区二区成人| 亚洲欧美日韩国产手机在线| 极品销魂美女一区二区三区| 欧美日韩dvd在线观看| 日韩免费高清视频| 日本午夜精品视频在线观看 | 亚洲另类在线一区| 成人免费三级在线| 欧美一区二区三区视频在线观看| 一区二区三区在线视频播放| 久久久精品国产免大香伊| 91精品国产综合久久精品| 精品久久久久久久久久久久久久久久久 | 色av成人天堂桃色av| 精品噜噜噜噜久久久久久久久试看| 亚洲尤物在线视频观看| 色综合视频一区二区三区高清| 欧美国产精品一区| 国产一区二区三区精品视频| 精品国产髙清在线看国产毛片| 日韩中文字幕区一区有砖一区 | 精品一区二区三区久久| 91精品国产手机|