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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? matrix.inl

?? BP人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練源碼
?? INL
?? 第 1 頁 / 共 2 頁
字號(hào):
// Matrix.inl: implementation of the CMatrix class.
// inline functions
// 朱桂斌
// 2001年3月6日
//////////////////////////////////////////////////////////////////////


// 構(gòu)造函數(shù)

inline CMatrix::CMatrix (unsigned int row, unsigned int col)
{
	RowSiz = Row = row;
	ColSiz = Col = col;
	Val = new double* [row];
	for (unsigned int i=0; i < row; i++)
		Val[i] = new double [col];
}

// 拷貝構(gòu)造函數(shù)

inline CMatrix::CMatrix (const CMatrix& m)
{
	RowSiz = Row = m.Row;
	ColSiz = Col = m.Col;
	
	Val = new double* [Row];
	unsigned int colsize = Col * sizeof(double);
	
	for (unsigned int i=0; i < Row; i++)
	{
		Val[i] = new double [Col];
		memcpy( Val[i], m.Val[i], colsize);
	}
}


// 析構(gòu)函數(shù)

inline CMatrix::~CMatrix (void)
{
	for (unsigned int i=0; i < RowSiz; i++)
		delete [] Val[i];
	delete [] Val;
}


//  重新分配內(nèi)存
inline void CMatrix::realloc (unsigned int row, unsigned int col)
{
	if (row == RowSiz && col == ColSiz)
	{
		Row = RowSiz;
		Col = ColSiz;
		return;
	}
	unsigned int i;
	double** Val1 = new double* [row];
	for (i=0; i < row; i++)
		Val1[i] = new double [col];
	
	unsigned int colSize = min(Col,col) * sizeof(double);
	unsigned int minRow = min(Row,row);
	
	for (i=0; i < minRow; i++)
		memcpy( Val1[i], Val[i], colSize);
	
	for (i=0; i < RowSiz; i++)
		delete [] Val[i];
	delete [] Val;
	
	RowSiz = Row = row;
	ColSiz = Col = col;
	Val = Val1;
	
	return;
}


//改變矩陣大小
inline void CMatrix::SetSize (unsigned int row, unsigned int col) 
{
	unsigned int i,j;
	unsigned int oldRow = Row;
	unsigned int oldCol = Col;
	
	if (row != RowSiz || col != ColSiz)
		realloc( row, col);
	
	if (row > oldRow)
		for (i=oldRow; i < row; i++)
			for (j=0; j < oldCol; j++)
				Val[i][j] = double(0);
			
			if (col > oldCol)
				for (i=0; i < row; i++)
					for (j=oldCol; j < col; j++)
						Val[i][j] = double(0);
					return;
}

// 下標(biāo)操作符如(i,j)
inline double& CMatrix::operator () (unsigned int row, unsigned int col) 
{
	VERIFY(row < Row && col < Col);
	
	return Val[row][col];
}

// input stream function
/*inline istream& operator >> (istream& istrm, CMatrix& m)
{
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			istrm >> m.Val[i][j];
		return istrm;
}

// output stream function
inline ostream& operator << (ostream &ostrm, CMatrix& m)
{
	for (unsigned int i=0; i < m.Row; i++)
	{
		for (unsigned int j=0; j < m.Col; j++)
			cout << m.Val[i][j] << '\t';
		cout << endl;
	}
	return ostrm;
}
*/

// 賦值操作符
inline CMatrix& CMatrix::operator = (const CMatrix& m) 
{
	if (Row != m.Row || Col != m.Col)
		realloc( m.Row,m.Col);
	
	unsigned int colbyte = m.Col * sizeof(double);
	
	for (unsigned int i=0; i < m.Row; i++)
		memcpy( Val[i], m.Val[i], colbyte);
	
	return *this;
}

// 拷貝內(nèi)容,有可能擴(kuò)大尺寸,但不縮小
inline CMatrix& CMatrix::CopyFrom(const CMatrix& m)
{
	if (Row < m.Row || Col < m.Col)
	{
		unsigned int newrow, newcol;
		newrow=max(Row,m.Row);
		newcol=max(Col,m.Col);
		realloc( newrow,newcol);
	}
	
	unsigned int colbyte = m.Col * sizeof(double);
	
	for (unsigned int i=0; i < m.Row; i++)
		memcpy( Val[i], m.Val[i], colbyte);
	
	return *this;
}

// 邏輯等于操作符
inline bool operator == (const CMatrix& m1, const CMatrix& m2) 
{
	bool retVal = false;
	
	if (m1.Row != m2.Row || m1.Col != m2.Col)
		return retVal;
	
	for (unsigned int i=0; i < m1.Row; i++)
		for (unsigned int j=0; j < m1.Col; i++)
			if (m1.Val[i][j] != m2.Val[i][j])
				return retVal;
			
			return true;
}

// 邏輯不等于操作符
inline bool operator != (const CMatrix& m1, const CMatrix& m2) 
{
    return (m1 == m2) ? false : true;
}


// 加、賦值結(jié)合操作
inline CMatrix& CMatrix::operator += (const CMatrix& m) 
{
	VERIFY(Row == m.Row && Col == m.Col);
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			Val[i][j] += m.Val[i][j];
		return *this;
}


// 減、賦值結(jié)合操作
inline CMatrix& CMatrix::operator -= (const CMatrix& m) 
{
	
	VERIFY(Row == m.Row && Col == m.Col);
	
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			Val[i][j] -= m.Val[i][j];
		return *this;
}

// 乘以標(biāo)量并賦值
inline CMatrix& CMatrix::operator *= (const double& c) 
{
	for (unsigned int i=0; i < Row; i++)
		for (unsigned int j=0; j < Col; j++)
			Val[i][j] *= c;
		return *this;
}


// 乘以矩陣并賦值
inline CMatrix& CMatrix::operator *= (const CMatrix& m) 
{
	VERIFY(Col == m.Row);
	
	*this = *this * m;
	return *this;
}


// 除以標(biāo)量并賦值
inline CMatrix& CMatrix::operator /= (const double& c) 
{
	for (unsigned int i=0; i < Row; i++)
		for (unsigned int j=0; j < Col; j++)
			Val[i][j] /= c;
		
		return *this;
}

// 乘方賦值
inline CMatrix& CMatrix::operator ^= (const unsigned int& pow) 
{
	for (unsigned int i=2; i <= pow; i++)
		*this = *this * *this;
	
	return *this;
}

// 取負(fù)運(yùn)算
inline CMatrix CMatrix::operator - () 
{
	CMatrix temp(Row,Col);
	
	for (unsigned int i=0; i < Row; i++)
		for (unsigned int j=0; j < Col; j++)
			temp.Val[i][j] = - Val[i][j];
		
		return temp;
}

// 加運(yùn)算
inline CMatrix operator + (const CMatrix& m1, const CMatrix& m2) 
{
	VERIFY(m1.Row == m2.Row || m1.Col == m2.Col);
	
	CMatrix temp(m1.Row,m1.Col);
	
	for (unsigned int i=0; i < m1.Row; i++)
		for (unsigned int j=0; j < m1.Col; j++)
			temp.Val[i][j] = m1.Val[i][j] + m2.Val[i][j];
		
		return temp;
}

// 減運(yùn)算
inline CMatrix operator - (const CMatrix& m1, const CMatrix& m2) 
{
	VERIFY(m1.Row == m2.Row || m1.Col == m2.Col);
	
	CMatrix temp(m1.Row,m1.Col);
	
	for (unsigned int i=0; i < m1.Row; i++)
		for (unsigned int j=0; j < m1.Col; j++)
			temp.Val[i][j] = m1.Val[i][j] - m2.Val[i][j];
		
		return temp;
}


// 乘以標(biāo)量
inline CMatrix operator * (const CMatrix& m, const double& no) 
{
	CMatrix temp(m.Row,m.Col);
	
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			temp.Val[i][j] = no * m.Val[i][j];
		
		return temp;
}

//加標(biāo)量
inline CMatrix operator + (const CMatrix& m, const double& no)
{
	CMatrix temp(m.Row,m.Col);
	
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			temp.Val[i][j] = no + m.Val[i][j];
		
		return temp;
}

//標(biāo)量減矩陣
inline CMatrix operator - (const double& no, const CMatrix& m)
{
	CMatrix temp(m.Row,m.Col);
	
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			temp.Val[i][j] = no - m.Val[i][j];
		
		return temp;
	
}
// 相乘運(yùn)算(multiplication)
inline  CMatrix operator * (const CMatrix& m1, const CMatrix& m2) 
{
	VERIFY(m1.Col == m2.Row);
	
	CMatrix temp(m1.Row,m2.Col);
	
	for (unsigned int i=0; i < m1.Row; i++)
		for (unsigned int j=0; j < m2.Col; j++)
		{
			temp.Val[i][j] = double(0);
			for (unsigned int k=0; k < m1.Col; k++)
				temp.Val[i][j] += m1.Val[i][k] * m2.Val[k][j];
		}
		return temp;
}

// 乘方(power)
inline CMatrix operator ^ (const CMatrix& m, const unsigned int& pow) 
{
	CMatrix temp(m);
	
	for (unsigned int i=2; i <= pow; i++)
		temp = temp * temp;
	
	return temp;
}


// 轉(zhuǎn)置運(yùn)算(transpose)
inline CMatrix operator  ~ (const CMatrix& m) 
{
	CMatrix temp(m.Col,m.Row);
	
	for (unsigned int i=0; i < m.Row; i++)
		for (unsigned int j=0; j < m.Col; j++)
			temp.Val[j][i] = m.Val[i][j];
		
		return temp;
}


// 取逆運(yùn)算(inversion)
inline CMatrix operator ! (CMatrix m) 
{
	unsigned int i,j,k;
	double a1,a2,*rowptr;
	
	VERIFY (m.Row == m.Col);
	
	CMatrix temp(m.Row,m.Col);
	
	temp.Unit();
	for (k=0; k < m.Row; k++)
	{
		int indx = m.pivot(k);
		VERIFY (indx != -1);
		
		if (indx != 0)
		{
			rowptr = temp.Val[k];
			temp.Val[k] = temp.Val[indx];
			temp.Val[indx] = rowptr;
		}
		a1 = m.Val[k][k];
		for (j=0; j < m.Row; j++)
		{
			m.Val[k][j] /= a1;
			temp.Val[k][j] /= a1;
		}
		for (i=0; i < m.Row; i++)
			if (i != k)
			{
				a2 = m.Val[i][k];
				for (j=0; j < m.Row; j++)
				{
					m.Val[i][j] -= a2 * m.Val[k][j];
					temp.Val[i][j] -= a2 * temp.Val[k][j];
				}
			}
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二| 一本一道综合狠狠老| 精品国产一区a| 狠狠色狠狠色综合日日91app| 精品国产乱码久久久久久浪潮 | 精品视频在线看| 午夜精品福利视频网站| 欧美一区二区三区在| 久久精品国产精品亚洲综合| 精品久久国产字幕高潮| 国产成人免费在线观看不卡| 国产精品嫩草影院com| 色婷婷综合久久久中文一区二区| 亚洲高清免费一级二级三级| 91麻豆精品国产91久久久使用方法| 九色综合国产一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 99热在这里有精品免费| 亚洲一区二区三区四区在线| 欧美videos中文字幕| 国产.欧美.日韩| 亚洲va在线va天堂| 久久久蜜桃精品| 欧美自拍丝袜亚洲| 精品一区二区三区影院在线午夜| 日本一区二区三区久久久久久久久不 | 日日摸夜夜添夜夜添精品视频| 欧美成人激情免费网| av一区二区三区四区| 石原莉奈在线亚洲三区| 中文字幕精品一区二区精品绿巨人| 欧美视频一区二区| 国产高清精品在线| 亚洲午夜视频在线观看| 国产亚洲欧美激情| 欧美日韩一区二区电影| 懂色av一区二区三区免费观看| 天天av天天翘天天综合网| 国产欧美综合在线| 日韩写真欧美这视频| 91麻豆精品在线观看| 国产一区二区三区在线观看免费| 一区二区久久久久| 中文字幕欧美国产| 精品欧美一区二区久久| 欧美亚洲国产一区在线观看网站| 国产91精品入口| 老司机免费视频一区二区三区| 亚洲精品视频在线| 国产精品免费看片| 久久综合狠狠综合| 91精品国产色综合久久ai换脸 | 亚洲欧洲国产专区| 精品日韩欧美一区二区| 欧美蜜桃一区二区三区| 91免费看视频| 国产99一区视频免费| 蜜桃久久精品一区二区| 天天操天天干天天综合网| 亚洲精品视频免费观看| 国产精品国产三级国产aⅴ中文| 久久无码av三级| 欧美一级二级在线观看| 欧美酷刑日本凌虐凌虐| 欧美色图在线观看| 色综合久久综合中文综合网| av在线一区二区三区| 国产传媒欧美日韩成人| 国产精一品亚洲二区在线视频| 日本欧美在线看| 日韩精品电影在线| 日本亚洲电影天堂| 日韩成人av影视| 青青草国产精品97视觉盛宴| 婷婷国产在线综合| 日韩avvvv在线播放| 日本在线不卡一区| 蜜桃免费网站一区二区三区| 蜜乳av一区二区| 激情五月激情综合网| 久久不见久久见免费视频7| 精品一区免费av| 国内精品免费在线观看| 国产精品一品视频| 国产成人精品免费在线| 成人黄色777网| 97久久精品人人澡人人爽| 色综合天天狠狠| 欧美视频一区二区| 555www色欧美视频| 精品日韩欧美在线| 国产精品美女久久久久高潮| 最新国产成人在线观看| 一区二区三区免费网站| 偷拍日韩校园综合在线| 久久精品国产久精国产| 成人中文字幕电影| 一本色道久久综合亚洲91| 欧美三级在线播放| 欧美电影免费观看高清完整版| 久久久精品黄色| 亚洲欧美aⅴ...| 日韩和欧美一区二区三区| 国模无码大尺度一区二区三区| 不卡在线观看av| 欧美日韩中文字幕一区二区| 欧美成人bangbros| 中文字幕在线不卡一区 | 中文字幕一区二区三区色视频| 亚洲视频在线观看一区| 偷拍一区二区三区| 国产**成人网毛片九色 | 欧美日韩日本视频| 精品国产sm最大网站免费看| 自拍偷拍亚洲欧美日韩| fc2成人免费人成在线观看播放 | 久久亚洲精品国产精品紫薇| 亚洲欧洲日产国码二区| 天堂影院一区二区| 国产成人免费在线观看| 欧美群妇大交群中文字幕| 国产欧美日韩综合精品一区二区| 亚洲国产日韩a在线播放性色| 国产在线精品国自产拍免费| 日本高清免费不卡视频| 久久一二三国产| 五月激情综合婷婷| 99在线视频精品| 日韩精品一区二区三区在线观看 | 日本不卡免费在线视频| av毛片久久久久**hd| 538在线一区二区精品国产| 日韩一区欧美一区| 国产老肥熟一区二区三区| 欧美日韩成人综合在线一区二区| 国产精品伦理在线| 麻豆精品视频在线| 欧美视频三区在线播放| 国产精品理论片| 国内外成人在线视频| 欧美男男青年gay1069videost| 综合久久国产九一剧情麻豆| 国产黑丝在线一区二区三区| 欧美理论电影在线| 亚洲国产精品一区二区尤物区| 成人午夜视频在线| www成人在线观看| 免播放器亚洲一区| 欧美日韩亚洲综合| 一区二区国产盗摄色噜噜| 成人av在线网| 欧美激情一区在线观看| 国产一区二区三区在线观看免费视频| 欧美精品日韩一本| 亚洲超丰满肉感bbw| 欧美日韩一卡二卡三卡| 亚洲精品ww久久久久久p站| 99r国产精品| 中文字幕色av一区二区三区| 成人一级片网址| 国产日韩精品一区二区三区在线| 九一久久久久久| 精品国产乱码久久久久久闺蜜 | 国产精品一区二区视频| 欧美成人免费网站| 加勒比av一区二区| 久久亚洲捆绑美女| 国产一区二区三区久久久| 精品久久久久av影院| 国内不卡的二区三区中文字幕| 久久综合久久综合亚洲| 国产福利一区二区三区视频在线 | 亚洲一二三级电影| 欧亚一区二区三区| 亚洲二区在线视频| 欧美午夜一区二区| 日韩av成人高清| 精品三级在线看| 国产精品资源网| 国产精品初高中害羞小美女文| 97精品电影院| 亚洲一区二区偷拍精品| 欧美三级乱人伦电影| 强制捆绑调教一区二区| 精品国产乱码久久久久久蜜臀| 国产电影一区二区三区| 中文字幕一区在线观看视频| 在线观看中文字幕不卡| 日本91福利区| 久久精子c满五个校花| 91在线观看下载| 亚洲mv大片欧洲mv大片精品| 日韩女优毛片在线| 国产a区久久久| 亚洲五码中文字幕| 久久免费电影网| 91同城在线观看| 免费高清不卡av| 国产精品久久综合| 欧美日韩免费视频|