我有一个txt文件,文件的内容是数字行, 每行中有5个浮点数,每个数字之间用逗号分隔。 例如:
1.1,12,1.42562,3.5,2.2
2.1,3.3,3,3.333,6.75
如何在matlab中将文件内容读入矩阵? 到目前为止,我有这个:
fid = fopen('file.txt');
comma = char(',');
A = fscanf(fid, ['%f', comma]);
fclose(fid);
问题是它只给我第一行和我 尝试写A的内容我得到这个:1.0e + 004 *一些数字
是的,有人能帮帮我吗? 我想对于文件我需要在循环中读取它但我不知道如何。编辑:还有一个问题:当我输出到A时,我得到了这个:
A =
1.0e+004 *
4.8631 0 0 0 0.0001
4.8638 -0.0000 -0.0000 0.0004 0.0114
4.8647 -0.0000 -0.0000 0.0008 0.0109
我希望文件中的相同值在矩阵中,如何使数字成为常规浮点数而不是像这样格式化?或者矩阵中的数字是否实际浮动,但输出只是这样显示?
答案 0 :(得分:9)
MATLAB的内置dlmread
函数将是您想要完成的更简单的解决方案。
A = dlmread('filename.txt',',') % call dlmread and specify a comma as the delimiter
答案 1 :(得分:6)
尝试使用importdata
功能
A = importdata(`filename.txt`);
它将解决您的问题。
修改强>
备选方案1)
A = dlmread('test_so.txt',',');
答案 2 :(得分:0)
答案非常简单:
fid = fopen('depthMap.txt');
A = fscanf(fid, '%f');
fclose(fid);