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

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

?? sparsem.h

?? 是稀疏矩陣庫以及全矩陣和稀疏矩陣分析程序源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
// sparsem.h : header file

#define LPAEXPORT FAR PASCAL EXPORT

#ifdef __SPARSE_DLL__
#define DLLEXPORT _declspec( dllexport )
#else
#define DLLEXPORT
#endif

// 數(shù)據(jù)類型定義:與FORTRAN程序一致
#define		INT1	char

#define		INT2	int
#define		INT4	long
#define		INT8	long
#define		REAL4	float
#define		REAL8	double

#define		FLOAT4	float
#define		FLOAT8	double 

/////////////////////////////////////////////////////////////////////////////
/*數(shù)據(jù)結(jié)構(gòu)*/

#define LINKED_LIST			struct linked_list
#define TRIANGULAR_TABLE	struct triangular_table
#define TRIANGULAR_TABLE_C	struct triangular_table_c
#define LXBRANCHES_			struct lxbranches_				// 支路
#define LXHBRANCHES_		struct lxhbranches_				// 零序互感抗支路

#define PRC			int
#define OLD_NEW		int


//
// 復(fù)數(shù)
//
#define RE_IM_TYPE		0
#define A_ANGLE_TYOE	1


LINKED_LIST{			// 雙重鏈接表
    INT2	nza;		// 非零元素個數(shù)
    INT2	n;			// 矩陣階數(shù)
    INT2	*row;		// 元素行號
    INT2	*col;		// 元素列號
    INT2	*up;		// 元素的上鄰元素號
    INT2	*down;		// 元素的下鄰元素號
    INT2	*left;		// 元素的左鄰元素號
    INT2	*right;		// 元素的右鄰元素號
    INT1	*del;		// 元素刪除標志: 1=刪除
    INT2	*rp;		// 行鏈指針
    INT2	*cp;		// 列鏈指針
    };

TRIANGULAR_TABLE{		// 三角形表, 先對角元素, 其余按 LU 分解順序排列
    INT2	nza;		// 非零元素個數(shù)
    INT2	n;			// 矩陣階數(shù)
    INT2	lun;		// 由符號 LU 分解確定的需修正的元素個數(shù)
    INT2	fen;		// 由符號前消確定的需修正的向量元素個數(shù)
    FLOAT8	*val;		// 矩陣及右端向量/中間解向量元素值
    INT2	*roco;		// 對角元素行列號, U 元素列號, L 元素行號
    INT2	*urp;		// U 陣行指針
    INT2	*lcp;		// L 陣列指針
    INT2	*lup;		// 由符號 LU 分解確定的需修正的元素號
    INT2	*fep;		// 前消需修正的元素號
    };
TRIANGULAR_TABLE_C{		// 復(fù)數(shù)三角形表, 先對角元素, 其余按 LU 分解順序排列
    INT2	nza;		// 非零元素個數(shù)
    INT2	n;			// 矩陣階數(shù)
    INT2	lun;		// 由符號 LU 分解確定的需修正的元素個數(shù)
    INT2	fen;		// 由符號前消確定的需修正的向量元素個數(shù)
    FLOAT8	*vre;		// 矩陣及右端向量/中間解向量元素實部值
    FLOAT8	*vim;		// 矩陣及右端向量/中間解向量元素虛部值
    INT2	*roco;		// 對角元素行列號, U 元素列號, L 元素行號
    INT2	*urp;		// U 陣行指針
    INT2	*lcp;		// L 陣列指針
    INT2	*lup;		// 由符號 LU 分解確定的需修正的元素號
    INT2	*fep;		// 前消需修正的元素號
    };
LXBRANCHES_{
    int		n;			// 外支路號
    char	typen;		// 支路類型號: 0="線路", 1="變壓器
    int		i;			// 始節(jié)點
    int		j;			// 終節(jié)點
    double	vre;		// 電阻(實部)
    double	vim;		// 電抗(虛部)
    double	bk;			// 電納/變比
};
LXHBRANCHES_{
	int		ni;			// 前條外支路號
    int		i;			// 前條支路的始節(jié)點
    int		j;			// 前條支路的終節(jié)點
	int		nj;			// 后條外支路號
    int		p;			// 后條支路的始節(jié)點
    int		q;			// 后條支路的終節(jié)點
	double	pvre;		// 前條支路的電阻
	double	pvim;		// 前條支路的電抗
	double	bvre;		// 后條支路的電阻
	double	bvim;		// 后條支路的電抗
    double	vim;		// 兩條支路間的互感抗
};



//宏定義

#define PI  3.1415926535                   

// CSparseMatrixApp
// See sparsem.cpp for the implementation of this class
//

class CSparseMatrix
{
private:
	LINKED_LIST			List;			// 雙鏈表結(jié)構(gòu) 
	TRIANGULAR_TABLE	Table;			// 三角形表結(jié)構(gòu)
	TRIANGULAR_TABLE_C	TableC;			// 復(fù)數(shù)三角形表結(jié)構(gòu)

	INT2	maxRank;					// 最大階數(shù)
	INT2	maxNonzero;					// 最大非零元個數(shù)
	INT2	*NewOldR;					// 新=》舊行號,新=》舊行/列號
	INT2	*NewOldC;					// 新=》舊列號
	INT2	*OldNewR;					// 舊=》新行號,舊=》新行/列號
	INT2	*OldNewC;					// 舊=》新列號
	FLOAT8	*x1,*x2;					// 存儲數(shù)值用
	INT1	fOption;					/* 使用選項:
											0:只使用雙鏈表及其數(shù)據(jù)
											1:建立和解實系數(shù)方程,Markwitz優(yōu)化排序,全主元;
											2:建立和解實系數(shù)方程,Markwitz優(yōu)化排序,對角主元;
											3:建立和解實系數(shù)方程,Tinney-Wolker優(yōu)化排序,對角主元;
											4:建立和解復(fù)系數(shù)方程,Markwitz優(yōu)化排序,全主元;
										*/

	// 壞數(shù)據(jù)檢測數(shù)據(jù)結(jié)構(gòu)  Logic
    TRIANGULAR_TABLE	Table_T;		//三角形表結(jié)構(gòu)的轉(zhuǎn)置矩陣

public:
	//接口函數(shù)
	void newList(INT2 _maxRank, FLOAT4 _rNonzero);	// 只使用雙鏈表
	void newList(INT2 _maxRank, FLOAT4 _rNonzero, INT2 _fOption);
	/* 創(chuàng)建和使用稀疏矩陣技術(shù)解方程,_fOption:
	 0:只使用雙鏈表
	 1:實系數(shù)方程,Markwitz優(yōu)化排序,全主元;
	 2:實系數(shù)方程,Markwitz優(yōu)化排序,對角主元;
	 3:實系數(shù)方程,Tinney-Wolker優(yōu)化排序,對角主元;
	 4:復(fù)系數(shù)方程,Markwitz優(yōu)化排序,全主元;
	*/
	void deleteList();					// 刪除用newList()創(chuàng)建的雙鏈表
	void clrList();						// 清除用newList()創(chuàng)建的雙鏈表
	INT2 insertListEle(INT2 i,INT2 j);	// 在List(i,j)位置插入一個非零元,返回List(i,j)位置標號
	INT2 getNumListEle(INT2 i,INT2 j);	// 返回List(i,j)位置標號
	void setRankList(INT2 rank);		// 置List的階數(shù)
	INT2 getRankList();					// 取List的階數(shù)
	INT2 getNonNumList();				// 取List的非零元素個數(shù)
	INT2 getRankTable();                // 取Table的階數(shù)
	INT2 getStruList(INT2 i,INT1 _fOption);
	/*_fOption=0 取List中元素i的行號
	  _fOption=1 取List中元素i的列號
	  _fOption=2 取List中元素i的上鄰元素號或
	  _fOption=3 取List中元素i的下鄰元素號 
	  _fOption=4 取List中元素i的左鄰元素號
	  _fOption=5 取List中元素i的右鄰元素號
      _fOption=6 取List中元素i的行鏈指針
	  _fOption=7 取List中元素i的列鏈指針*/
	double getStruTableV(INT2 i);							// 返回三角形表中的第i個元素的值
	void covListTab();										// 優(yōu)化排序,雙鏈表List=》三角形表Table,符號LU分解
	void insertB(INT2 i);									// 在Table中插入一個非零元右端元素B[i]
	void insertBT(INT2 i);									// 在Table中插入一個非零元右端元素B[i]
	void symFE();											// 右端向量填元,符號前消
	void insertCoef(INT2 i,INT2 j,FLOAT8 a);				// 在Table中插入矩陣元素a[i,j]
	//修改2003.3.30-----------------------------------------函數(shù)調(diào)用后的值是原矩陣元素a[i,j]加上a的值
	void insertCoef(INT2 i,INT2 j,FLOAT8 are,FLOAT8 aim);	// 在TableC中插入矩陣元素are[i,j],aim[i,j]
	void numLU();											// 數(shù)值LU分解
	void insertBVal(INT2 i,FLOAT8 b);						// 在Table中插入一個右端元素B[i]值
	void insertBVal(INT2 i,FLOAT8 bre,FLOAT8 bim);			// 在Table中插入一個右端元素B[i]復(fù)數(shù)值
	BOOL makeSolution();									// 數(shù)值前消、后代,獲得Tab中的解 
	FLOAT8 getX(INT2 i);									// 從Table獲取解x[i]/TableC獲取解xre[i]
	FLOAT8 getXim(INT2 i);									// 從TableC獲取解xim[i]
	INT2 GetOldNewR(INT2 i);
	INT2 GetOldNewC(INT2 i);
    void memfree();

	void ReSetA();//初始化:使Table中A[i][j]=0
	void ReSetB();//初始化:使Table中B[i]=0	

	BOOL JudgeZero();
	// 判斷矩陣對角元素是否為零

	//  壞數(shù)據(jù)檢測函數(shù)
	void SoluteVF( TRIANGULAR_TABLE table, double *VF );
    double FormMartrix( CSparseMatrix& Linked_bar, int row, int col, double* JacoBi, double* m_pV, double* m_pF );
    double FormMartrix( int row, int col, double* JacoBi, double* m_pV, double* m_pF );
	void translate_table();
	TRIANGULAR_TABLE& GetTable() { return Table; };
    TRIANGULAR_TABLE& GetTranspose() { return Table_T; };

    // 形成轉(zhuǎn)置三角形表 
	void TransposeSymFE();	// 右端向量填元,符號前消
	void new_table(INT2 rank_max,INT2 nonzero);
	void new_tableT(INT2 rank_max,INT2 nonzero);
	void delete_tableT();
	void SetfOption(INT2 option) { fOption = option; };

	BOOL Cholesky(double *m_pX,double *Z);
//平方根分解法
//供VB調(diào)用
	void WINAPI Formbranch();

public:
	CSparseMatrix();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色香蕉久久蜜桃| 在线综合+亚洲+欧美中文字幕| 中文字幕国产一区| 日韩二区三区四区| 国产欧美日韩在线观看| www国产精品av| 精品乱码亚洲一区二区不卡| 亚洲日本在线看| 91福利在线观看| 麻豆国产精品一区二区三区| 一区二区三区毛片| 亚洲免费av观看| 亚洲一级二级在线| 一区二区三区在线播| 国产精品一区二区果冻传媒| 精品一区二区三区香蕉蜜桃 | 欧美日韩一区国产| 欧美天堂一区二区三区| 欧美疯狂性受xxxxx喷水图片| 欧美乱妇20p| 国产精品911| 日韩亚洲国产中文字幕欧美| 精品久久国产字幕高潮| 99久久99久久免费精品蜜臀| 精品va天堂亚洲国产| 日韩av电影免费观看高清完整版| 日本欧美一区二区三区乱码 | 国产精品国产a| 欧美高清视频一二三区| 91麻豆精品一区二区三区| 99久久久久免费精品国产 | 亚洲国产wwwccc36天堂| 亚洲柠檬福利资源导航| 粉嫩av一区二区三区| 91社区在线播放| 自拍av一区二区三区| 成人av在线网站| 一区二区三区加勒比av| 久久久久久久久久美女| 亚洲欧美日韩精品久久久久| 成人久久久精品乱码一区二区三区| 色噜噜偷拍精品综合在线| 亚洲丝袜另类动漫二区| 26uuu欧美| 国产精品传媒入口麻豆| 91在线一区二区| 一区二区三区四区高清精品免费观看| 不卡电影一区二区三区| 亚洲女同一区二区| 欧美亚洲图片小说| 三级精品在线观看| 国产成人av福利| 在线国产亚洲欧美| 久久看人人爽人人| 成+人+亚洲+综合天堂| 一区二区三区资源| 欧美一区二区三区视频| 亚洲激情图片qvod| 国产成人h网站| 91福利在线看| 久久激情五月婷婷| 欧美精品在线视频| 国产伦精品一区二区三区免费迷| 欧美日韩一级视频| 久久国产尿小便嘘嘘尿| 国产精品久久久久久久久快鸭 | 中文字幕精品一区二区精品绿巨人 | 亚洲6080在线| 粉嫩aⅴ一区二区三区四区五区| 国产精品美女久久久久久久网站| 精品一二三四区| 综合久久一区二区三区| 欧美电影在线免费观看| 成人午夜av电影| 日本亚洲天堂网| 综合在线观看色| 日韩欧美精品三级| 免费黄网站欧美| 91精品国产麻豆| 国产夫妻精品视频| 精彩视频一区二区三区| www国产成人| 欧美在线观看你懂的| 国产麻豆视频一区| 国产精品毛片久久久久久久 | 亚洲午夜久久久久中文字幕久| 亚洲乱码国产乱码精品精98午夜 | 精品午夜久久福利影院| 国产精品99久久久久久似苏梦涵| 色94色欧美sute亚洲线路一ni| 国产精品网站在线| 老司机午夜精品| 欧美午夜不卡视频| 日韩成人精品在线| 美女任你摸久久| 色婷婷久久99综合精品jk白丝| 欧美日韩高清一区| 一区二区三区在线视频观看| 国产成a人亚洲| 99精品国产视频| 蜜乳av一区二区| 日本在线不卡一区| 亚洲精品第1页| 国产乱对白刺激视频不卡| 国产另类ts人妖一区二区| 秋霞电影网一区二区| 亚洲成在线观看| 精品少妇一区二区三区在线播放 | www.久久久久久久久| 成人精品免费看| 亚洲一区国产视频| 日韩欧美精品三级| 国产乱码精品1区2区3区| 久久精品二区亚洲w码| 中文字幕免费不卡| 久久奇米777| 中文在线资源观看网站视频免费不卡| 日本精品免费观看高清观看| 91女厕偷拍女厕偷拍高清| 成人自拍视频在线| 欧美三级电影网| 欧美日韩一区不卡| 成人午夜免费av| 日本久久一区二区三区| 欧美日韩精品一区二区三区四区| 欧美午夜电影网| 日韩午夜三级在线| 中文字幕色av一区二区三区| 久久久久国产免费免费| 久久色在线视频| 国产精品乱码久久久久久| 久久久精品一品道一区| 一区二区不卡在线视频 午夜欧美不卡在| 一区二区欧美精品| 狠狠狠色丁香婷婷综合激情| 精品乱人伦小说| 亚洲另类在线视频| 国产成人精品免费视频网站| 99在线热播精品免费| 6080yy午夜一二三区久久| 国产欧美日韩综合精品一区二区| 一区二区三区中文字幕在线观看| 午夜精品久久久久影视| 7777精品伊人久久久大香线蕉完整版 | 一区二区三区在线看| 国产一区二区毛片| 欧美午夜电影网| 日韩久久一区二区| 亚洲18影院在线观看| 成人激情免费网站| 久久99国产乱子伦精品免费| 五月婷婷色综合| av不卡在线观看| 亚洲欧洲精品天堂一级| 日韩精品一级中文字幕精品视频免费观看| 国产91精品露脸国语对白| 精品久久久久香蕉网| 视频一区免费在线观看| 欧美日韩久久久久久| 视频一区国产视频| 久久久久国产精品麻豆ai换脸| 精一区二区三区| 亚洲美女视频在线观看| 国产成人综合自拍| 国产精品白丝在线| 日韩免费视频线观看| 日韩高清在线一区| 国产日韩欧美一区二区三区综合 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 极品销魂美女一区二区三区| 久久九九久久九九| 国产精品传媒视频| 91精品欧美综合在线观看最新 | 综合欧美亚洲日本| 911精品产国品一二三产区| 成人永久看片免费视频天堂| 欧美成人精品1314www| 狠狠色丁香婷综合久久| 国产精品情趣视频| 欧美一区二区三区日韩视频| 成人18精品视频| 美洲天堂一区二卡三卡四卡视频| 久久久久久久综合狠狠综合| av激情综合网| 免费人成网站在线观看欧美高清| 亚洲精品久久久蜜桃| 精品国产乱码久久久久久夜甘婷婷 | 麻豆专区一区二区三区四区五区| 视频一区免费在线观看| 亚洲国产经典视频| 中文av一区特黄| 制服丝袜av成人在线看| 欧美影视一区二区三区| 欧美视频一区二区在线观看| 国产成人a级片| 色综合天天综合狠狠| 成人一区二区三区| 床上的激情91.| 精品一区二区av| 国产91精品露脸国语对白|