我有一个表格数据集
0.547,0.797,2.860,1.398,急右转 0.541,0.786,2.373,1.919,急右转 0.549,0.784,2.370,1.930,急右转 0.983,0.780,2.373,1.701,向前移动 0.984,0.780,2.372,1.700,向前移动 0.983,0.780,2.378,1.602,向前移动 0.983,0.780,2.381,1.701,向前移动 . . 行 = 5456,第 5 列
在 MATLAB 中很容易将文本文件加载到数据矩阵中。但我在 C 中苦苦挣扎。我试过这段代码
int main()
{
struct node {
float at1;
float at2;
float at3;
float at4;
char at5[30];
} record[ROW][COL];
FILE *file;
int i, j;
memset(record, 0, sizeof(record));
file = fopen("sensor.txt", "r");
if (file == NULL) {
printf("File does not exist!");
} else {
for (i = 0; i < ROW; ++i) {
for (j = 0; j < COL; ++j) {
fscanf(file, "%f,%f,%f,%f,%s", &record[i][j].at1, &record[i][j].at2, &record[i][j].at3, &record[i][j].at4, &record[i][j].at5);
}
}
}
fclose(file);
for (i = 0; i < ROW; ++i)
for (j = 0; j < COL; ++j) {
printf("%f\t%f\t%f\t%f\t%s\n", record[i][j].at1, record[i][j].at2, record[i][j].at3, record[i][j].at4, record[i][j].at5);
}
return 0;
}
我0.000000
只得到无限行和 4 列。
我想将前四列保存在一个矩阵中,最后一列保存为另一个列矩阵。我可以这样做吗?
我必须构建一个分类器,我在 MATLAB 中很容易做到,而不使用预定义的函数,但是在 C 中读取数据阻碍了我的代码。
我知道这可能是一个重复的问题,但我在其他线程中尝试了解决方案,它们不适用于我的数据集。