1.从MATLAB中导出.txt / .dat文件
fid = fopen('文件名.txt','w');
fprintf(fid,'%g\n',real(sr(1:PrtN)));
fclose(fid);
注:
1. .txt换为.dat产生的文件类型就是.dat文件
2. %g:根据数据的大小和类型,合理选择输出类型 %n:导出数据为列向量 %t:导出数据为行向量
3. % 对于sr(1:PrtN)为复数类型的情况,如果直接存储复数数据到文件中,只会存储实部;因此采用的方法是实部、虚部分别进行存储
2.将.txt / .dat文件读入到VS中
FILE* fp = fopen("sr_real.txt", "rt");
if (fp == NULL)
{
printf("sr_real_txt:%s\n", strerror(errno)); // 需要包含头文件 #include<errno.h> 以及 #include<string.h>
return;
}
for (int i = 0; i < L_sr; i++) // L_sr为数据的长度
{
fscanf(fp, "%f", &sr[i].x);
}
fclose(fp);
fp == NULL;
注:
同样的,读取.dat文件只需将.txt换成.dat即可。
3.从VS中导出数据
FILE* fp = fopen("output.dat", "w");
if (fp == NULL)
{
return -1;
}
for (int i = 0; i < 10000; i++)
{
fprintf(fp, "%f\n", sr[i].x);
}
fclose(fp);
fp = NULL;
return 0;
注:导出数据用fprintf函数,程序执行后,会在相应的程序路径下生成对应的.txt / .dat文件
4.导入.txt / .dat文件到MATLAB
x = load("output.dat");
注:直接load即可。