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

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

?? matrix.h

?? 《科學與工程數值計算算法(Visual C++版)》附盤的所有程序
?? H
字號:
//////////////////////////////////////////////////////////////////////
// Matrix.h
//
// 操作矩陣的類 CMatrix 的聲明接口
//
// 周長發編制, 2002/8
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MATRIX_H__ACEC32EA_5254_4C23_A8BD_12F9220EF43A__INCLUDED_)
#define AFX_MATRIX_H__ACEC32EA_5254_4C23_A8BD_12F9220EF43A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <math.h>

#if !defined(_BITSET_)
#	include <bitset>
#endif // !defined(_BITSET_)

//////////////////////////////////////////////////////////////////////////////////////
//
//(-- class CTokenizer
//
class CTokenizer
{
public:
	CTokenizer(const CString& cs, const CString& csDelim) : m_cs(cs), m_nCurPos(0)
	{
		SetDelimiters(csDelim);
	}
	void SetDelimiters(const CString& csDelim)
	{
		for(int i = 0; i < csDelim.GetLength(); ++i)
			m_sDelimiter.set(static_cast<BYTE>(csDelim[i]));
	}

	BOOL Next(CString& cs)
	{
		cs.Empty();

		while(m_nCurPos < m_cs.GetLength() && m_sDelimiter[static_cast<BYTE>(m_cs[m_nCurPos])])
			++m_nCurPos;

		if(m_nCurPos >= m_cs.GetLength())
			return FALSE;

		int nStartPos = m_nCurPos;
		while(m_nCurPos < m_cs.GetLength() && !m_sDelimiter[static_cast<BYTE>(m_cs[m_nCurPos])])
			++m_nCurPos;
		
		cs = m_cs.Mid(nStartPos, m_nCurPos - nStartPos);

		return TRUE;
	}

	CString	Tail() const
	{
		int nCurPos = m_nCurPos;

		while(nCurPos < m_cs.GetLength() && m_sDelimiter[static_cast<BYTE>(m_cs[nCurPos])])
			++nCurPos;

		CString csResult;

		if(nCurPos < m_cs.GetLength())
			csResult = m_cs.Mid(nCurPos);

		return csResult;
	}

private:
	CString m_cs;
	std::bitset<256> m_sDelimiter;
	int m_nCurPos;
};
//
//--) // class CTokenizer
//
//////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////
//
//(-- class CMatrix
//
class CMatrix  
{
	//
	// 公有接口函數
	//
public:

	//
	// 構造與析構
	//

	CMatrix();										// 基礎構造函數
	CMatrix(int nRows, int nCols);					// 指定行列構造函數
	CMatrix(int nRows, int nCols, double value[]);	// 指定數據構造函數
	CMatrix(int nSize);								// 方陣構造函數
	CMatrix(int nSize, double value[]);				// 指定數據方陣構造函數
	CMatrix(const CMatrix& other);					// 拷貝構造函數
	BOOL	Init(int nRows, int nCols);				// 初始化矩陣	
	BOOL	MakeUnitMatrix(int nSize);				// 將方陣初始化為單位矩陣
	virtual ~CMatrix();								// 析構函數

	//
	// 輸入與顯示
	//

	// 將字符串轉換為矩陣數據
	BOOL FromString(CString s, const CString& sDelim = " ", BOOL bLineBreak = TRUE);	
	// 將矩陣轉換為字符串
	CString ToString(const CString& sDelim = " ", BOOL bLineBreak = TRUE) const;
	// 將矩陣的指定行轉換為字符串
	CString RowToString(int nRow, const CString& sDelim = " ") const;
	// 將矩陣的指定列轉換為字符串
	CString ColToString(int nCol, const CString& sDelim = " ") const;

	//
	// 元素與值操作
	//

	BOOL	SetElement(int nRow, int nCol, double value);	// 設置指定元素的值
	double	GetElement(int nRow, int nCol) const;			// 獲取指定元素的值
	void    SetData(double value[]);						// 設置矩陣的值
	int		GetNumColumns() const;							// 獲取矩陣的列數
	int		GetNumRows() const;								// 獲取矩陣的行數
	int     GetRowVector(int nRow, double* pVector) const;	// 獲取矩陣的指定行矩陣
	int     GetColVector(int nCol, double* pVector) const;	// 獲取矩陣的指定列矩陣
	double* GetData() const;								// 獲取矩陣的值

	//
	// 數學操作
	//

	CMatrix& operator=(const CMatrix& other);
	BOOL operator==(const CMatrix& other) const;
	BOOL operator!=(const CMatrix& other) const;
	CMatrix	operator+(const CMatrix& other) const;
	CMatrix	operator-(const CMatrix& other) const;
	CMatrix	operator*(double value) const;
	CMatrix	operator*(const CMatrix& other) const;
	// 復矩陣乘法
	BOOL CMul(const CMatrix& AR, const CMatrix& AI, const CMatrix& BR, const CMatrix& BI, CMatrix& CR, CMatrix& CI) const;
	// 矩陣的轉置
	CMatrix Transpose() const;

	//
	// 算法
	//

	// 實矩陣求逆的全選主元高斯-約當法
	BOOL InvertGaussJordan();                                               
	// 復矩陣求逆的全選主元高斯-約當法
	BOOL InvertGaussJordan(CMatrix& mtxImag);                                 
	// 對稱正定矩陣的求逆
	BOOL InvertSsgj();                                              
	// 托伯利茲矩陣求逆的埃蘭特方法
	BOOL InvertTrench();                                                    
	// 求行列式值的全選主元高斯消去法
	double DetGauss();                                                              
	// 求矩陣秩的全選主元高斯消去法
	int RankGauss();
	// 對稱正定矩陣的喬里斯基分解與行列式的求值
	BOOL DetCholesky(double* dblDet);                                                               
	// 矩陣的三角分解
	BOOL SplitLU(CMatrix& mtxL, CMatrix& mtxU);                                     
	// 一般實矩陣的QR分解
	BOOL SplitQR(CMatrix& mtxQ);                                                      
	// 一般實矩陣的奇異值分解
	BOOL SplitUV(CMatrix& mtxU, CMatrix& mtxV, double eps = 0.000001);                                       
	// 求廣義逆的奇異值分解法
	BOOL GInvertUV(CMatrix& mtxAP, CMatrix& mtxU, CMatrix& mtxV, double eps = 0.000001);
	// 約化對稱矩陣為對稱三對角陣的豪斯荷爾德變換法
	BOOL MakeSymTri(CMatrix& mtxQ, CMatrix& mtxT, double dblB[], double dblC[]);
	// 實對稱三對角陣的全部特征值與特征向量的計算
	BOOL SymTriEigenv(double dblB[], double dblC[], CMatrix& mtxQ, int nMaxIt = 60, double eps = 0.000001);
	// 約化一般實矩陣為赫申伯格矩陣的初等相似變換法
	void MakeHberg();
	// 求赫申伯格矩陣全部特征值的QR方法
	BOOL HBergEigenv(double dblU[], double dblV[], int nMaxIt = 60, double eps = 0.000001);
	// 求實對稱矩陣特征值與特征向量的雅可比法
	BOOL JacobiEigenv(double dblEigenValue[], CMatrix& mtxEigenVector, int nMaxIt = 60, double eps = 0.000001);
	// 求實對稱矩陣特征值與特征向量的雅可比過關法
	BOOL JacobiEigenv2(double dblEigenValue[], CMatrix& mtxEigenVector, double eps = 0.000001);

	//
	// 保護性數據成員
	//
protected:
	int	m_nNumColumns;			// 矩陣列數
	int	m_nNumRows;				// 矩陣行數
	double*	m_pData;			// 矩陣數據緩沖區

	//
	// 內部函數
	//
private:
	void ppp(double a[], double e[], double s[], double v[], int m, int n);
	void sss(double fg[2], double cs[2]);

};
//
//--) // class CMatrix
//
//////////////////////////////////////////////////////////////////////////////////////

#endif // !defined(AFX_MATRIX_H__ACEC32EA_5254_4C23_A8BD_12F9220EF43A__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线观看视频| 久久婷婷综合激情| 成人动漫在线一区| 国产精品18久久久久| 久久91精品久久久久久秒播| 青椒成人免费视频| 美洲天堂一区二卡三卡四卡视频| 日韩电影在线观看一区| 美女脱光内衣内裤视频久久影院| 日韩高清欧美激情| 黄一区二区三区| 国产麻豆视频精品| 91啪在线观看| 欧美色窝79yyyycom| 777奇米成人网| 久久免费看少妇高潮| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 色8久久精品久久久久久蜜 | 亚洲人成7777| 亚洲高清免费观看高清完整版在线观看| 亚洲永久精品大片| 男女性色大片免费观看一区二区| 蜜桃av一区二区三区| 国产成人精品www牛牛影视| av男人天堂一区| 欧美电影在线免费观看| 欧美一级高清片| 国产精品午夜在线| 亚洲一区电影777| 国产精品1区2区3区在线观看| 99免费精品视频| 91精品国产入口| 国产日本一区二区| 午夜视频久久久久久| 狠狠狠色丁香婷婷综合激情| 91美女蜜桃在线| 久久夜色精品一区| 亚洲精品日韩综合观看成人91| 日本欧美韩国一区三区| 国产1区2区3区精品美女| 在线观看av一区| 国产性色一区二区| 日韩精品久久理论片| 成人美女视频在线观看| 91麻豆精品91久久久久久清纯| 国产人伦精品一区二区| 午夜国产精品影院在线观看| jlzzjlzz亚洲日本少妇| 欧美成人猛片aaaaaaa| 亚洲免费看黄网站| 高清视频一区二区| 日韩一区二区三区视频| 一区二区三区欧美日| 经典三级视频一区| 欧美精品v国产精品v日韩精品| 自拍偷拍亚洲综合| 国产不卡视频在线播放| 日韩精品在线看片z| 午夜电影一区二区三区| 日本丰满少妇一区二区三区| 中文字幕免费一区| 精久久久久久久久久久| 欧美一级在线观看| 亚洲不卡一区二区三区| 日本丶国产丶欧美色综合| 国产精品毛片久久久久久久| 国产精品羞羞答答xxdd| 精品久久一区二区| 精品无码三级在线观看视频| 日韩欧美成人激情| 久久国产人妖系列| 精品国产污网站| 美女视频第一区二区三区免费观看网站| 91久久国产最好的精华液| 亚洲视频 欧洲视频| 成a人片亚洲日本久久| 国产精品久久久久影院色老大| 国内精品免费在线观看| 精品国产伦理网| 国产福利一区二区三区视频在线| 亚洲欧洲精品一区二区三区不卡| 成人av网址在线观看| 国产精品天美传媒| 91视频免费观看| 亚洲高清久久久| 91精品综合久久久久久| 国内久久婷婷综合| 欧美极品美女视频| 91亚洲男人天堂| 亚洲成a人v欧美综合天堂下载 | 成人动漫视频在线| ...av二区三区久久精品| 色综合咪咪久久| 午夜av电影一区| 久久久久久久综合日本| 99久久精品国产导航| 亚洲制服丝袜一区| 日韩欧美电影在线| jizzjizzjizz欧美| 亚洲成人av一区二区三区| 日韩欧美视频一区| av在线这里只有精品| 一区二区免费在线| 欧美大片拔萝卜| 99re热视频这里只精品| 亚洲第一激情av| 国产亚洲欧洲一区高清在线观看| 91亚洲午夜精品久久久久久| 免费国产亚洲视频| 亚洲精品水蜜桃| 精品国产凹凸成av人网站| 99精品视频一区二区| 首页欧美精品中文字幕| 中文字幕不卡在线播放| 欧美夫妻性生活| 成人av资源网站| 另类调教123区 | 日韩高清不卡一区| 国产精品久久久久久亚洲毛片| 欧美日韩精品欧美日韩精品 | 五月天欧美精品| 国产精品久久一卡二卡| 3d成人动漫网站| 一本在线高清不卡dvd| 国产激情一区二区三区四区| 亚洲高清免费视频| 亚洲色图欧美激情| 精品成a人在线观看| 欧美美女激情18p| 99re成人在线| 成人午夜又粗又硬又大| 久久国产综合精品| 日韩精品五月天| 亚洲大片一区二区三区| 综合久久久久久久| 国产精品女同互慰在线看 | 成人手机在线视频| 久久99九九99精品| 五月激情综合网| 一区二区三区在线观看动漫| 国产精品视频一二| 中文字幕久久午夜不卡| 夜夜嗨av一区二区三区中文字幕| 国产日韩成人精品| 久久色中文字幕| 久久久久久久久蜜桃| 精品国产乱码久久久久久牛牛| 欧美成人性战久久| 精品伦理精品一区| 精品国产髙清在线看国产毛片| 日韩免费电影网站| 91精品国产免费久久综合| 4438x亚洲最大成人网| 91精品欧美福利在线观看| 911精品国产一区二区在线| 欧美高清hd18日本| 日韩欧美中文字幕公布| 日韩欧美一区二区三区在线| 日韩欧美国产1| 国产亚洲成年网址在线观看| 国产精品久久午夜夜伦鲁鲁| 中文字幕欧美一| 亚洲午夜精品一区二区三区他趣| 亚洲成人在线观看视频| 日韩av电影免费观看高清完整版| 麻豆精品视频在线观看| 国产高清精品网站| 成人免费福利片| 91行情网站电视在线观看高清版| 欧美午夜精品免费| 欧美一级高清片| 国产欧美日韩精品一区| 亚洲精选一二三| 日韩和欧美的一区| 国产在线播精品第三| 9i在线看片成人免费| 精品1区2区3区| 精品成人一区二区三区四区| 国产精品另类一区| 亚洲成在人线在线播放| 久久99精品国产麻豆不卡| 成人av手机在线观看| 精品视频一区三区九区| 欧美精品一区二区三区久久久| 国产精品无人区| 亚洲chinese男男1069| 国产精品性做久久久久久| 91激情五月电影| 欧美一区二区三区成人| 国产精品无遮挡| 日韩精品乱码免费| thepron国产精品| 欧美一区二区国产| 日韩久久一区二区| 看电视剧不卡顿的网站| 91蜜桃在线免费视频| 欧美精品一区二区三区蜜臀| 亚洲电影一区二区| 高清不卡在线观看| 欧美一区二区黄色|