fscanf 的一个非常奇怪的问题,请高手过来看看
if( (file = fopen( "C:\\Users\\jiang\\Desktop\\canshu.txt", "r" )) != NULL )
{
fscanf(file,"%s",&ch);
for(int i=0;i<n;i++)
fscanf(file,"%lf %lf %lf %lf %lf %lf",&Ak[i*n],&Ak[i*n+1],&Ak[i*n+2],&Ak[i*n+3],&Ak[i*n+4],&Ak[i*n+5]);
fscanf(file,"%s",&ch);
for(int i=0;i<n;i++)
fscanf(file,"%lf %lf %lf %lf %lf %lf",&F[i*n],&F[i*n+1],&F[i*n+2],&F[i*n+3],&F[i*n+4],&F[i*n+5]);
fscanf(file,"%s",&ch);
for(int i=0;i<n;i++)
fscanf(file,"%lf %lf %lf %lf %lf %lf",&P[i*n],&P[i*n+1],&P[i*n+2],&P[i*n+3],&P[i*n+4],&P[i*n+5]);
fscanf(file,"%s",&ch);
fscanf(file,"%lf %lf %lf %lf %lf %lf",&X[0],&X[1],&X[2],&X[3],&X[4],&X[5]);
fscanf(file,"%s",&ch);
for(int i=0;i<n;i++)
fscanf(file,"%lf %lf %lf %lf %lf %lf",&QW[i*n],&QW[i*n+1],&QW[i*n+2],&QW[i*n+3],&QW[i*n+4],&QW[i*n+5]);
fscanf(file,"%s",&ch);
for(int i=0;i<n;i++)
fscanf(file,"%lf %lf %lf %lf %lf %lf",&QX[i*n],&QX[i*n+1],&QX[i*n+2],&QX[i*n+3],&QX[i*n+4],&QX[i*n+5]);
}
TXT文件是:
误差方程系数矩阵
1.0 0.0 0.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.0 1.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0
0.0 0.0 0.0 0.0 0.0 1.0
状态转移矩阵矩阵
1.0 0.0 0.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0 0.0 0.0
0.0 0.0 0.0 1.0 0.0 0.0
0.0 0.0 0.0 0.0 1.0 0.0
0.0 0.0 0.0 0.0 0.0 1.0
观测值方差
0.000698 0 0 0 0 0
0 0.00000484266 0 0 0 0
0 0 0.939691 0 0 0
0 0 0 0.0000600993 0 0
0 0 0 0 0.000146 0
0 0 0 0 0 0.000119
状态初值
-0.02651 0.001971 0.974356 -0.00187 -0.00841 0.007245
状态噪声权逆阵
0.0000372528953 0 0 0 0 0
0 0.0000372528953 0 0 0 0
0 0 0.0000372528953 0 0 0
0 0 0 0.0000372528953 0 0
0 0 0 0 0 0.0000372528953
状态初始值的权逆阵
0.000703 0 0 0 0 0
0 0.00000388311 0 0 0 0
0 0 0.949369 0 0 0
0 0 0 0.00000349225 0 0
0 0 0 0 0.0000707583 0
0 0 0 0 0 0.0000524829
这段程序读取上面的TXT文件时候,状态噪声逆矩阵一直都不出来就是那个QW数组里面一直没有数,错误代码是CXX0014,请高手进来指点一下,谢谢!! C
[解决办法]
你那个n是多少
状态噪声权逆阵
0.0000372528953 0 0 0 0 0
0 0.0000372528953 0 0 0 0
0 0 0.0000372528953 0 0 0
0 0 0 0.0000372528953 0 0
0 0 0 0 0 0.0000372528953
这个看上去是5行