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

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

?? matrixcalculate.cpp

?? nios 計算卡爾曼濾波程序
?? CPP
字號:
// matrixcalculate.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "malloc.h" 
#include "math.h"
#include <stdlib.h> 
#include <stdio.h> 
#define q1 0.5
#define pi 3.14159
#define T_step 0.1
#define H_period 2*pi
#define cc 0.1
int matrixinv(float c[], float a[],int n) 
{ 
	int *is,*js,i,j,k,l,u,v; 
    float d,p; 
    is=(int *)malloc(n*sizeof(int)); 
    js=(int *)malloc(n*sizeof(int)); 
	for (i=0; i<n; i++) 
	{
		for(j=0;j<n;j++)

	       a[i*n+j]=c[i*n+j];
	}
    for (k=0; k<=n-1; k++) 
	{
		d=0.0; 
        for (i=k; i<=n-1; i++) 
        for (j=k; j<=n-1; j++) 
		{ 	l=i*n+j; p=fabs(a[l]); 
			if (p>d) 
			{
				d=p; is[k]=i; js[k]=j;
			} 
		} 
        if (d+1.0==1.0) 
		
		{
		    free(is); free(js); printf("err**not inv\n"); 
			return(0); 
		} 
        if (is[k]!=k) 
        for (j=0; j<=n-1; j++) 
		{ 
			u=k*n+j; v=is[k]*n+j; 
            p=a[u]; a[u]=a[v]; a[v]=p; 
		} 
        if (js[k]!=k) 
        for (i=0; i<=n-1; i++) 
		{ 
			u=i*n+k; v=i*n+js[k]; 
            p=a[u]; a[u]=a[v]; a[v]=p; 
		} 
        l=k*n+k; 
        a[l]=1.0/a[l]; 
        for (j=0; j<=n-1; j++) 
        if (j!=k) 
		{ 
			u=k*n+j; a[u]=a[u]*a[l];
		} 
        for (i=0; i<=n-1; i++) 
        if (i!=k) 
        for (j=0; j<=n-1; j++) 
        if (j!=k) 
		{ 
			u=i*n+j; 
            a[u]=a[u]-a[i*n+k]*a[k*n+j]; 
		} 
        for (i=0; i<=n-1; i++) 
        if (i!=k) 
		{ 
			u=i*n+k; a[u]=-a[u]*a[l];
		} 

	} 
        for (k=n-1; k>=0; k--) 
		{ 
	        if (js[k]!=k) 
            for (j=0; j<=n-1; j++) 
			{ 
				u=k*n+j; v=js[k]*n+j; 
                p=a[u]; a[u]=a[v]; a[v]=p; 
			} 
            if (is[k]!=k) 
            for (i=0; i<=n-1; i++) 
			{ 
				 u=i*n+k; v=i*n+is[k]; 
                 p=a[u]; a[u]=a[v]; a[v]=p; 
			} 
		}  
            free(is); free(js); 
            return(1); 
} 
/*矩陣轉(zhuǎn)置*/
int atv(float *in,float *out,int n) 
{ 
int i,j; 

for(i=0;i<n;i++) 
{ 
   for(j=0;j<n;j++) 
   *(out+ j*n +i)=*(in+ i*n +j); 
} 
return 1; 
} 
/*矩陣乘法*/
int abv(float *matrixa,float *matrixb,float *out,int am,int an,int bm,int bn)
{ 
int i,j,k; 
float temp; 
if(an!=bm) {return 0;} /*矩陣不可以計算*/ 
for(i=0;i<am;i++) 
{ 
    for(j=0;j<bn;j++) 
    { 
      for(k=0,temp=0;k<an;k++) 
      temp=temp + *(matrixa+i*an+k) * *(matrixb+k*bn+j); 
      *(out+i*bn+j) = temp; 
    } 

} 
return 1; 
} 
void initiones(float *q,int n) /*形成單位矩陣*/
{ 
int i,j; 
for(i=0;i<n;i++) 
    for(j=0;j<n;j++) 
    { if(i==j) 
           q[i*n+j]=1; 
       else 
           q[i*n+j]=0; 
    } 
}
/*求矩陣和,a,b為輸入陣,out為和的矩陣,m,n為行和列*/ 
int abaddv(float *matrixa,float *matrixb,float *out,int m,int n)
{ 
int i,j;
for(i=0;i<m;i++)
{
   for(j=0;j<n;j++)
    *(out+i*n+j)=*(matrixa+i*n+j)+*(matrixb+i*n+j);
}
return 1;
}
/*求矩陣差,a,b為輸入陣,out為差的矩陣,m,n為行和列*/ 
int absubv(float *matrixa,float *matrixb,float *out,int m,int n)
{ 
int i,j;
for(i=0;i<m;i++)
{
   for(j=0;j<n;j++)
    *(out+i*n+j)=*(matrixa+i*n+j)-*(matrixb+i*n+j);
}
return 1;
}
//坐標(biāo)變換函數(shù)
float *cordswitch(float b_h,float b_p,float b_r,float b_a,float b_e,float *b_ac,float *b_ec)
{
    (*b_ac)=atan((cos(b_e)*(cos(b_r)*sin(b_a-b_h)+sin(b_r)*sin(b_p)*cos(b_a-b_h))-sin(b_e)*sin(b_r)*cos(b_p))/(cos(b_e)*cos(b_p)*cos(b_a-b_h)+sin(b_e)*sin(b_p)));
	(*b_ec)=asin(cos(b_e)*(sin(b_r)*sin(b_a-b_h)-cos(b_r)*sin(b_p)*cos(b_a-b_h))+sin(b_e)*cos(b_r)*cos(b_p));
	return b_ec;
}
//坐標(biāo)反變換函數(shù)
float *anticorswitch(float b_h,float b_p,float b_r,float b_ac,float b_ec,float *b_a,float *b_e)
{
    (*b_a)=atan((sin(b_ec)*sin(b_r)+cos(b_ec)*cos(b_r)*sin(b_ac))/(cos(b_ec)*(cos(b_p)*cos(b_ac)+sin(b_p)*sin(b_r)*sin(b_ac))-sin(b_ec)*sin(b_p)*cos(b_r)))+b_h; 
	(*b_e)=asin(cos(b_ec)*(sin(b_p)*cos(b_ac)-cos(b_p)*sin(b_r)*sin(b_ac))+sin(b_ec)*cos(b_p)*cos(b_r));
    return b_a;
}
main()
{
	FILE *fp;
	char buf[64];
	float database[101]={0.0000,0.0628,0.1253,0.1874,0.2487,0.3090,0.3681,0.4258,0.4818,
    0.5358,0.5878,0.6374,0.6845,0.7290,0.7705,0.8090,0.8443,0.8763,0.9048,0.9298,
    0.9511,0.9686,0.9823,0.9921,0.9980,1.0000,0.9980,0.9921,0.9823,0.9686,0.9511,
    0.9298,0.9048,0.8763,0.8443,0.8090,0.7705,0.7290,0.6845,0.6374,0.5878,0.5358,0.4818,
    0.4258,0.3681,0.3090,0.2487,0.1874,0.1253,0.0628,0.0000,-0.0628,-0.1253,-0.1874,-0.2487,
    -0.3090,-0.3681,-0.4258,-0.4818,-0.5358,-0.5878,-0.6374,-0.6845,-0.7290,-0.7705,-0.8090,
    -0.8443,-0.8763,-0.9048,-0.9298,-0.9511,-0.9686,-0.9823,-0.9921,-0.9980,-1.0000,-0.9980,
    -0.9921,-0.9823,-0.9686,-0.9511,-0.9298,-0.9048,-0.8763,-0.8443,-0.8090,-0.7705,-0.7290,
    -0.6846,-0.6374,-0.5878,-0.5358,-0.4818,-0.4258,-0.3681,-0.3090,-0.2487,-0.1874,-0.1253,
    -0.0628,-0.0000};
	float datacont[101];
	float position;
	float velocy;
	int k=1;
	int i,j=0;
	float KK[2][2]={{0,0},{0,0}};
	float P_pre[2][2]={{0,0},{0,0}};
	float Fai_Matrix[2][2]={{1,T_step},{0,1}};
	float H_Matrix[2][2]={{1,0},{0,1}};//狀態(tài)矩陣  C陣
	float R_cov[2][2]={{cc,0},{0,cc}};//協(xié)方差矩陣
	float Q[2][2]={{q1,0},{0,q1}};
	float P_est[2][2]={{cc,cc/T_step},{cc/T_step,cc}};
	float MI[2][2]={{1,0},{0,1}};
	//float C[2][2]={{1,0},{0,1}};
	float XK[2][1]={{0},{0}};
	float State_Pre[2][1]={{0.5},{0.01}};
    //float State_Pre[2][1];
    float State_est[2][1]={{0},{0}};
	float poop[2][1]={{0},{0}};
	float popo[2][1]={{0},{0}};
    //float Mea_error[2][2];
   // float Mea_noisytraj[2][2];
   // float Mea_Pre[2][2];
	float process[2][2];//用于矩陣運(yùn)算的中間變量;
    float porce[2][2];//用于矩陣運(yùn)算的中間變量;
    float proc[2][2];//用于矩陣運(yùn)算的中間變量;
    float ppor[2][2];//用于矩陣運(yùn)算的中間變量;
for(k=1;k<=101;k++)
{
	//float C[2][2]={};
 /*方差預(yù)測*/
  /*  P_pre=Fai_Matrix*P_est*Fai_Matrix'+ Q;  */
abv(*Fai_Matrix,*P_est,*process,2,2,2,2);            //process=Fai_Matrix*Pcov_est;
atv(*Fai_Matrix,*porce,2);                              //porce=Fai_Matrix';
abv(*process,*porce,*proc,2,2,2,2);                     //proc=Fai_Matrix*Pcov_est*Fai_Matrix'
abaddv(*proc,*Q,*P_pre,2,2);                            //得到P_pre=Fai_Matrix*Pcov_est*Fai_Matrix'+ Q;
	/*增益計算*/
   /* K=P_pre*H_Matrix'*inv(H_Matrix*P_pre*H_Matrix'+R_cov) ;   
	Mea_error=Mea_noisytraj-Mea_Pre;*/
abv(*H_Matrix,*P_pre,*process,2,2,2,2);                 //process=H_Matrix*P_pre;
atv(*H_Matrix,*ppor,2);                                 //ppor=H_Matrix';
abv(*process,*ppor,*porce,2,2,2,2);                     //porce=H_Matrix*P_pre*H_Matrix';
abaddv(*porce,*R_cov,*process,2,2);                     //process=H_Matrix*P_pre*H_Matrix'+R_cov;
matrixinv(*process,*porce,2);                           //porce=inv(H_Matrix*P_pre*H_Matrix'+R_cov);
abv(*P_pre,*ppor,*process,2,2,2,2);                     //process=P_pre*H_Matrix';
abv(*process,*porce,*KK,2,2,2,2);                        //得到K陣=P_pre*H_Matrix'*inv(H_Matrix*P_pre*H_Matrix'+R_cov) ;
//absubv(*Mea_noisytraj,*Mea_Pre,*Mea_error,2,2);         //得到Mea_error陣=Mea_noisytraj-Mea_Pre;
    /*方差計算*/
    /*   P_est=(eye(2)-K*H_Matrix)*P_pre;   */
abv(*KK,*H_Matrix,*proc,2,2,2,2);                        //proc=K*H_Matrix;
absubv(*MI,*proc,*porce,2,2);                           //porce=eye(3)-K*H_Matrix;
abv(*porce,*P_pre,*P_est,2,2,2,2);                      //process=(eye(3)-K*H_Matrix)*P_pre;
/*abv(*porce,*P_pre,*ppor,2,2,2,2);   
//改變p_est計算公式,增加P_est=(eye(2)-K*H_Matrix)*P_pre*(eye(2)-K*H_Matrix)'+KK*R_cov*KK';
atv(*porce,*proc,2);
abv(*ppor,*proc,*process,2,2,2,2);
abv(*KK,*R_cov,*ppor,2,2,2,2);
atv(*KK,*proc,2);
abv(*ppor,*proc,*porce,2,2,2,2);
abaddv(*process,*porce,*P_est,2,2);*/
    /* 狀態(tài)預(yù)測 */
/*State_est=Fai_Matrix*State_Pre+K*(X-H_Matrix*Fai_Matrix*State_Pre);*/
velocy=(database[k]-database[k-1])/T_step;
position=database[k];
XK[0][0]=position;
XK[1][0]=velocy;
//XK[2][1]={{position},{velocy}};
abv(*H_Matrix,*Fai_Matrix,*process,2,2,2,2);
abv(*process,*State_Pre,*poop,2,2,2,1);
absubv(*XK,*poop,*popo,2,1);
abv(*KK,*popo,*poop,2,2,2,1);
abv(*Fai_Matrix,*State_Pre,*popo,2,2,2,1);
abaddv(*popo,*poop,*State_est,2,1);
datacont[k-1]=State_est[0][0];
for(i=0;i<2;i++)
{
	for(j=0;j<1;j++)
	{
	    State_Pre[i][j]=State_est[i][j];
	}
}
}
  
//	float a[102];
	
//	fp=fopen("sin.txt","w+");
	fp=fopen("sindata.txt","w+");
	//fwrite(a, sizeof(float) * 102, 1, fp);
	for(j=0;j<=100;j++)
	{
		for(i = 0; i < 64; i++)
			buf[i] = '\0';
		sprintf(buf, "%.4f\n", datacont[j]);
		fwrite(buf, sizeof(buf), 1, fp);
	}
	fclose(fp);  
	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人sese在线| 国产精品资源在线观看| 国产精品视频在线看| 欧美一区日本一区韩国一区| 在线视频综合导航| av欧美精品.com| 91视频在线观看免费| 91色婷婷久久久久合中文| 丁香婷婷综合色啪| 972aa.com艺术欧美| 91视视频在线直接观看在线看网页在线看| 成人午夜av影视| 99久久精品国产毛片| 91一区一区三区| 欧美日韩免费在线视频| 欧美日精品一区视频| 欧美日韩不卡视频| 日韩免费视频线观看| 精品国产a毛片| 亚洲国产精品国自产拍av| 国产精品乱人伦| 亚洲精品一二三| 亚洲成va人在线观看| 男女性色大片免费观看一区二区| 天天综合网天天综合色| 欧美a级一区二区| 国产美女在线观看一区| 97精品视频在线观看自产线路二| 色域天天综合网| 欧美一级xxx| 国产精品网站在线| 亚洲福利一区二区三区| 麻豆免费看一区二区三区| 国产精品影音先锋| 91国产成人在线| 久久综合中文字幕| 亚洲另类在线制服丝袜| 麻豆91精品视频| 成人午夜碰碰视频| 777xxx欧美| 亚洲图片另类小说| 美洲天堂一区二卡三卡四卡视频| 国产成人在线看| 欧美精品日韩精品| 日韩理论片一区二区| 日韩成人免费电影| 99热99精品| 精品久久久久久综合日本欧美| 中文字幕一区二区三区在线播放| 日av在线不卡| 91国在线观看| 欧美国产精品久久| 奇米影视一区二区三区| 在线观看av不卡| 国产精品久久精品日日| 精品一区二区av| 欧美日韩一区二区不卡| 国产精品三级在线观看| 久久99久久99小草精品免视看| 在线欧美小视频| 欧美国产97人人爽人人喊| 久久av资源网| 91精品国产综合久久香蕉麻豆| 亚洲欧美视频在线观看| 国产毛片精品视频| 精品美女在线播放| 日本午夜一区二区| 欧美精品第一页| 亚洲综合免费观看高清完整版| 91在线观看地址| 中文字幕一区二区三区蜜月 | 玉足女爽爽91| 成+人+亚洲+综合天堂| 久久亚洲欧美国产精品乐播| 美腿丝袜亚洲综合| 欧美一区二区三区啪啪| 视频一区二区欧美| 欧美疯狂性受xxxxx喷水图片| 亚洲亚洲精品在线观看| 欧美在线看片a免费观看| 亚洲视频在线一区二区| 成人的网站免费观看| 国产日韩一级二级三级| 福利电影一区二区三区| 久久精品男人的天堂| 国产一区 二区 三区一级| 久久久美女艺术照精彩视频福利播放| 毛片不卡一区二区| 精品国产一区二区国模嫣然| 麻豆精品久久精品色综合| 欧美一区二区三区啪啪| 韩国三级中文字幕hd久久精品| 精品99一区二区| 国产91精品一区二区| 尤物在线观看一区| 欧美日韩激情在线| 极品少妇一区二区三区精品视频| 亚洲精品在线免费播放| 99久久国产综合精品色伊| 亚洲欧美日韩久久| 欧美一区三区四区| 国产sm精品调教视频网站| 18欧美乱大交hd1984| 欧美日韩国产一级| 国产在线视频一区二区| 亚洲视频1区2区| 欧美久久久久久久久久| 国产精品一级二级三级| 亚洲日本在线天堂| 日韩一卡二卡三卡国产欧美| 成人教育av在线| 日韩二区在线观看| 国产日产精品一区| 欧美亚洲国产一卡| 久久99精品久久久久久动态图| 精品国精品自拍自在线| 成人的网站免费观看| 日本女人一区二区三区| 久久综合九色综合久久久精品综合| 国产一区二区三区四| 亚洲人一二三区| 91精品国产麻豆| 色噜噜久久综合| 精品午夜久久福利影院| 国产精品二三区| 欧美福利电影网| 日韩国产欧美在线观看| 亚洲精品中文在线| 精品国产sm最大网站| 色哟哟一区二区在线观看| 六月丁香婷婷久久| 国产精品视频第一区| 欧美成人猛片aaaaaaa| 91麻豆免费在线观看| 精品亚洲欧美一区| 一区二区三区在线视频免费 | 亚洲大片在线观看| 久久精品一级爱片| 欧美三级蜜桃2在线观看| av在线播放不卡| 久久99日本精品| 一区二区三区91| 国产欧美精品一区二区色综合 | 日本不卡在线视频| 久久先锋影音av鲁色资源网| 91一区二区三区在线观看| 麻豆91精品91久久久的内涵| 樱花草国产18久久久久| 337p粉嫩大胆噜噜噜噜噜91av| 99精品久久99久久久久| 成人免费观看男女羞羞视频| 奇米影视一区二区三区小说| 亚洲精品免费在线播放| 中文字幕第一区综合| 精品1区2区在线观看| 久久婷婷久久一区二区三区| 制服丝袜亚洲网站| 在线观看亚洲成人| av一区二区三区四区| 国产美女在线观看一区| 国产成人精品影院| 国产美女一区二区| 黄色精品一二区| 久久99精品国产.久久久久久 | 一区二区三区国产| 亚洲乱码日产精品bd| 国产精品久久久久久一区二区三区| 欧美大片免费久久精品三p| 欧美日韩国产不卡| 成人国产免费视频| 色欧美片视频在线观看在线视频| 大白屁股一区二区视频| 国产成人免费网站| 国产福利一区在线观看| 久久精品国产在热久久| 国产成人在线视频网站| 成人sese在线| 91免费看片在线观看| 91精品1区2区| 在线视频国产一区| 欧美另类久久久品| 日韩精品一区在线| 久久久精品国产免费观看同学| 日韩三级精品电影久久久| 日本一区二区三区在线观看| 欧美韩日一区二区三区| 中文字幕在线免费不卡| 一区二区三区中文字幕在线观看| 国产精品素人视频| 天堂久久一区二区三区| 久久成人免费电影| 成人午夜在线播放| 色狠狠av一区二区三区| 精品999在线播放| 中文乱码免费一区二区| 亚洲三级电影全部在线观看高清| 性欧美疯狂xxxxbbbb| 天堂在线一区二区| 丁香婷婷综合网| 欧美剧情片在线观看|