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

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

?? matrix.h

?? 用 c++編寫的GPS水準擬合的程序
?? H
字號:
#define M 400
#include "string.h"
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "iomanip.h"
#include "fstream.h"
#include "math.h"

class matrix
{
public:
	matrix::matrix(int mSize,int nSize);
	matrix::matrix(int mSize,int nSize,double value[]);
	matrix::matrix(int nSize);
	matrix::matrix();
	matrix::matrix(int nSize,double value[]);
	matrix (const matrix &other);
	matrix::~matrix();
	matrix & operator =(const matrix &other);
	matrix operator *(const matrix &other) const;
	matrix operator +(const matrix &other) const;
	matrix operator -(const matrix &other) const;
	matrix operator *( double value) const;
    bool setele(int mSize,int nSize,double value);
	matrix matrix::getaccompany()const;
/*Get the rows or the columns of your matrix*/	
	int matrix::getrows() const
	{return m;}
	int matrix::getcols()const
	{return n;}
	double * matrix::getdata()
	{return d;}
	matrix matrix::T() const
//求轉置矩陣
{
	matrix temp(m,n);
	if(n==0||m==0) return temp;
	if(n==1&&m==1) return *this;
	temp.n=m;
	temp.m=n;
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			temp.d[j*temp.n+i]=d[i*n+j];
		}
	}
	return temp;
}
	matrix matrix::operator ~()
//求逆矩陣
{
	matrix tp(m,n);
	//tp.d[0]=double(1.0/d[0]);
	if(m==1&&n==1) return tp;
	if(getrange()!=0)
	{double s=1.0/getrange();
	tp=getaccompany()*s;}
	else cout<<" \nthe matrix's range is 0!can not be inverted!"<<endl;
	return tp;
}
	
	double matrix::getrange() const
//計算矩陣的行列式的值,矩陣是方陣
{
	double sum=0;matrix z(m,n);
	if(m==0||n==0) return sum=0.0;
	if(m==1&&n==1) return sum=d[0];
	if(m==2&&n==2) return sum=d[0]*d[3]-d[1]*d[2];	
	int i=0;
		for(int j=0;j<n;j++)
		{
			matrix tp(m-1,n-1);
			int num=0;
			for(int g=0;g<m;g++)
			{
				if(g==i) continue;
				for(int h=0;h<n;h++)
				{
					if(h==j) continue;
					else
					{   
						tp.d[num]=d[g*n+h];
						num++;
					}
				}
			}
			int tip;
			double fuhao;
			tip=i+j+2;
			fuhao=1.0;
			if(tip%2==1) fuhao=-1.0;
			z.d[i*n+j]=fuhao*tp.getrange();
		}
		for(i=0;i<m;i++) sum+=d[i]*z.getele(0,i);
	return sum;
}

    double matrix::getele(int mSize,int nSize) const
	{
		double value=0.0;
 	if(mSize>=0 && mSize<m && nSize>=0 && nSize<n )
		if(d)
	   value=d[nSize+mSize*n];
	else 
	cout<<"An error occured when get element"<<endl;
	 return value;
	}


/* The initiment of the matrix*/
	bool init(int m,int n)
	{
	if(d)
	{ delete [] d;
	  d=NULL;
	}
	int nSize=m*n,i=0;
	if(nSize<0)
		return false;
	d=new double[nSize];
	if(d==NULL)
		return false;
	//memset(d,0.00,sizeof(double)*nSize);
	for(i=0;i<m*n;i++)
	d[i]=0.00;
	return true;
	}
   
/* set the member of the matrxi */
	void setdata(double value[])
	{  
		for(int i=0;i<m;i++)
			for(int j=0;j<n;j++)
				d[i*n+j]=0.0;
   // memset(d,0.0,sizeof(double)*m*n);
		for(i=0;i<m;i++)
			for(int j=0;j<n;j++)
				d[i*n+j]=value[i*n+j];
	//memcpy(d,value,sizeof(double)*m*n);
	}

/* output your matrix*/
	void output()
	{   int i=0;
	if(d)
	
	for(i=0;i<m;i++)
	{	cout<<"\n"<<endl;
     for(int j=0;j<n;j++)
		 cout<<d[i*n+j]<<"     ";
	}
	} 


private:
	int m;//define the rows
	int n;//define the columns
	double *d;
};

matrix::matrix(int mSize,int nSize)
	{
    m=mSize;
	n=nSize;
	d=NULL;
	init(m,n);
	}

matrix::matrix(int nSize)
	{
    m=nSize;
	n=nSize;
	d=NULL;
	init(m,n);
	}

matrix::matrix()
	{
    m=1;
	n=1;
	d=NULL;
	init(m,n);
	}

matrix::matrix(int nSize,double value[])
	 {
    m=nSize;
	n=nSize;
	d=NULL;
	init(m,n);
	setdata(value);
	 }

matrix::matrix(int mSize,int nSize,double value[])
	 {
    m=mSize;
	n=nSize;
	d=NULL;
	init(m,n);
	setdata(value);
	 }

matrix::matrix (const matrix &other)
{n=other.getcols();
 m=other.getrows();
 d=NULL;
 init(m,n);
 memcpy(d,other.d,sizeof(double)*m*n);
}

matrix::~matrix()
	{
	if(d)
	{delete d;
     d=NULL;
	}
	}

/*set the value of fixed element*/
 bool matrix::setele(int mSize,int nSize,double value)
	{
	if(mSize<0 || mSize>m || nSize<0 || nSize>n )
		return false;
	if(d==NULL)
		return false;
	d[nSize+n*mSize]=value;
	return true;
	}

/* the operator of =,==,+,-,*,!= */
    matrix & matrix::operator =(const matrix &other)
	{
		if(&other!=this)
		{m=other.getrows();
		 n=other.getcols();
		 init(m,n);
		 //copy the pointer
		 memcpy(d,other.d,sizeof(double)*m*n);
		}
		return *this;
	}

	matrix matrix::operator * ( const matrix & other) const 
	{	//assert(n==other.getrows());
		matrix result(m,other.getcols());
		if(n==other.getrows())
		{   
		    double value;
			for(int i=0;i<m;i++)
				for(int j=0;j<other.getcols();j++)
				{	value=0.0;
				  for(int k=0;k<n;k++)
				  {  
					value+=getele(i,k)*(other.getele(k,j));	
				  }
				   result.setele(i,j,value);
				}
		}
		return result;
	}

	matrix matrix::operator +( const matrix &other) const
	{	matrix result(*this);
		if((m==other.getrows())&&(n==other.getcols()))
		{
		    double value;
			for(int i=0;i<m;++i)
				for(int j=0;j<n;++j)
				{value=getele(i,j)+other.getele(i,j);
				 result.setele(i,j,value);
				}		
			return result;
		}
	    else
		{cout<<"An error occured when operator + of matrix!"<<endl;
		return result;}
	}
	
	matrix matrix::operator -(const matrix &other) const
	{	matrix result(*this);
		double value=0.0;
		if((m==other.getrows())&&(n==other.getcols()))
		{
			for(int i=0;i<m;++i)
				for(int j=0;j<n;++j)
				{
				 value=getele(i,j)-other.getele(i,j);
				 result.setele(i,j,value);
				}		
			return result;
		}
	    else
		{cout<<"An error occured when operator + of matrix!"<<endl;
				return result;
		}	
	}

	matrix matrix::operator *( double value) const
	{	matrix result(*this);
			for(int i=0;i<m;++i)
				for(int j=0;j<n;++j)	
				 result.setele(i,j,value*result.getele(i,j));	
			return result;
	}

	matrix matrix::getaccompany()const
/* 求伴隨矩陣*/
{
	matrix z(m,n);	
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			matrix tp(m-1,n-1);
			int num=0;
			for(int g=0;g<m;g++)
			{
				if(g==i) continue;
				for(int h=0;h<n;h++)
				{
					if(h==j) continue;
					else
					{   
						tp.d[num]=d[g*n+h];
						num++;
					}
				}
			}
			int tip;
			double fuhao;
			tip=i+j+2;
			fuhao=1.0;
			if(tip%2==1) fuhao=-1.0;
			z.d[i*n+j]=fuhao*tp.getrange();
		}
	}
	z=z.T();
	return z;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情第一区| 日本伊人精品一区二区三区观看方式 | 99久久精品情趣| 欧美日韩精品一区视频| 国产亚洲欧美在线| 婷婷综合久久一区二区三区| 国产高清精品网站| 日韩三级中文字幕| 亚洲国产视频在线| 成人高清伦理免费影院在线观看| 欧美放荡的少妇| 一区二区三区在线免费观看 | 久久理论电影网| 石原莉奈在线亚洲三区| 91日韩精品一区| 国产精品网站在线| 国产精品自拍毛片| 日韩欧美不卡在线观看视频| 一区二区三区精品视频| av高清久久久| 国产精品人妖ts系列视频| 国产最新精品精品你懂的| 欧美一级黄色大片| 日产国产欧美视频一区精品| 欧美日韩中文一区| 亚洲图片自拍偷拍| 欧美日韩电影一区| 午夜精品一区二区三区免费视频 | 成人一区二区在线观看| 精品福利av导航| 美日韩一区二区三区| 制服丝袜在线91| 日一区二区三区| 51精品国自产在线| 国模大尺度一区二区三区| 欧美成人三级在线| 久久99精品久久久久久动态图 | 午夜精品福利在线| 欧美体内she精视频| 亚洲国产精品久久久男人的天堂| 色噜噜狠狠一区二区三区果冻| 国产精品高清亚洲| 在线视频你懂得一区| 一区二区三区不卡视频在线观看 | 精品国产乱码久久久久久蜜臀 | 免费欧美在线视频| 日韩美一区二区三区| 九九**精品视频免费播放| 久久久久久久久久美女| 成人永久aaa| 亚洲免费在线视频| 欧美日韩高清一区| 久久国产福利国产秒拍| 久久理论电影网| 91女神在线视频| 天堂影院一区二区| 久久日一线二线三线suv| 成人精品一区二区三区四区 | 91麻豆精品在线观看| 亚洲成精国产精品女| 日韩一级片网站| 成人免费视频网站在线观看| 怡红院av一区二区三区| 日韩欧美中文字幕制服| 成人理论电影网| 亚洲影院理伦片| 精品国产免费人成在线观看| 99视频一区二区| 日本不卡的三区四区五区| 国产欧美日韩精品一区| 欧美午夜精品久久久久久超碰| 日韩高清国产一区在线| 中文字幕精品三区| 欧美精品黑人性xxxx| 福利电影一区二区| 午夜精品福利一区二区三区av| 久久久www免费人成精品| 在线观看亚洲a| 国产一区二区在线电影| 亚洲国产成人91porn| 欧美激情在线观看视频免费| 欧美高清你懂得| 99热99精品| 精品亚洲国内自在自线福利| 樱花影视一区二区| 亚洲国产精品成人综合| 日韩三区在线观看| 欧美日韩国产首页| 99精品视频一区二区三区| 精品在线视频一区| 天堂影院一区二区| 一区二区三区欧美日韩| 国产精品私人影院| 久久综合视频网| 欧美日本一区二区三区| 色伊人久久综合中文字幕| 极品美女销魂一区二区三区 | 中文字幕在线免费不卡| 精品久久久久久久人人人人传媒| 在线精品亚洲一区二区不卡| 成人av资源下载| 狠狠色狠狠色合久久伊人| 午夜欧美视频在线观看 | 国产精品情趣视频| 久久午夜免费电影| 欧美一级片免费看| 欧美久久久影院| 欧美性xxxxxx少妇| 在线观看91视频| 91丨国产丨九色丨pron| 99久久久久久| 97国产精品videossex| caoporn国产一区二区| 成人免费高清在线| 成人一级片网址| 成人综合在线观看| 成人动漫在线一区| youjizz久久| 91香蕉视频mp4| 色综合欧美在线| 色天天综合色天天久久| 91成人看片片| 欧美色男人天堂| 欧美精品日韩一本| 欧美大黄免费观看| 久久午夜电影网| 国产精品黄色在线观看| 自拍偷拍国产精品| 亚洲在线观看免费视频| 三级欧美在线一区| 美国av一区二区| 国产在线精品一区二区三区不卡| 国产乱色国产精品免费视频| 国产99久久久国产精品潘金| 不卡影院免费观看| 欧美系列一区二区| 日韩美女视频在线| 久久精品亚洲精品国产欧美kt∨| 欧美国产国产综合| 一区二区三区欧美久久| 日本免费在线视频不卡一不卡二| 精品一区二区三区在线视频| 粉嫩嫩av羞羞动漫久久久| 色婷婷综合在线| 制服丝袜亚洲网站| 欧美国产日韩a欧美在线观看 | 中文字幕精品一区二区三区精品| 亚洲日本乱码在线观看| 午夜精品成人在线视频| 国产一区在线精品| 一本色道久久综合亚洲精品按摩 | 日韩av不卡一区二区| 国产精品综合久久| 欧美视频一区在线观看| 欧美精品一区二区在线播放| 亚洲人成亚洲人成在线观看图片| 亚洲午夜久久久久久久久电影网| 热久久久久久久| 91原创在线视频| 欧美va天堂va视频va在线| 中文字幕亚洲一区二区av在线 | 亚洲精品久久嫩草网站秘色| 美国十次综合导航| 色婷婷综合五月| 久久蜜桃一区二区| 亚洲成人综合视频| 粉嫩一区二区三区在线看| 日韩一区二区电影| 亚洲黄色尤物视频| 成人18视频在线播放| 精品国产凹凸成av人网站| 亚洲影院免费观看| 97精品久久久久中文字幕 | 欧美电影一区二区| 亚洲天堂av一区| 国产成人夜色高潮福利影视| 7777精品伊人久久久大香线蕉经典版下载| 久久久精品综合| 蜜臀av亚洲一区中文字幕| 欧美在线视频全部完| 国产精品久久久久影院老司| 美洲天堂一区二卡三卡四卡视频| 一本一道综合狠狠老| 国产精品丝袜在线| 成人深夜在线观看| 久久日一线二线三线suv| 日本va欧美va瓶| 欧美体内she精高潮| 亚洲视频图片小说| 99久久99久久免费精品蜜臀| 欧美精彩视频一区二区三区| 黄色日韩网站视频| 日韩一区二区免费在线电影| 天天爽夜夜爽夜夜爽精品视频| 色又黄又爽网站www久久| 18欧美乱大交hd1984| 成人黄色小视频| 国产精品色婷婷久久58| 成人av电影在线| 中文字幕佐山爱一区二区免费|