shl*_*omi 6 matlab file matrix
我有一个txt文件,文件的内容是数字行,每行有5个浮点数,每个数字之间用逗号分隔.例:
1.1,12,1.42562,3.5,2.2
2.1,3.3,3,3.333,3.75
如何在matlab中将文件内容读入矩阵?到目前为止我有这个:
fid = fopen('file.txt');
comma = char(',');
A = fscanf(fid, ['%f', comma]);
fclose(fid);
Run Code Online (Sandbox Code Playgroud)
问题是它只给我第一行,当我尝试写AI的内容时得到这个:1.0e + 004*一些数字
有谁可以帮助我吗?我想对于文件我需要在循环中读取它,但我不知道如何.
编辑:还有一个问题:当我输出AI时,得到这个:
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
Run Code Online (Sandbox Code Playgroud)
我想要文件中的相同值在矩阵中,如何使数字成为常规浮点数而不是像这样格式化?或者矩阵中的数字是否实际浮动,但输出只是这样显示?
MATLAB的内置dlmread函数将是您想要完成的更简单的解决方案.
A = dlmread('filename.txt',',') % call dlmread and specify a comma as the delimiter
Run Code Online (Sandbox Code Playgroud)
尝试使用importdata功能
A = importdata(`filename.txt`);
Run Code Online (Sandbox Code Playgroud)
它会解决你的问题.
编辑
备选方案1)
A = dlmread('test_so.txt',',');
Run Code Online (Sandbox Code Playgroud)