如何在matlab中读取文件?

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)

我想要文件中的相同值在矩阵中,如何使数字成为常规浮点数而不是像这样格式化?或者矩阵中的数字是否实际浮动,但输出只是这样显示?

Dor*_*oom 9

MATLAB的内置dlmread函数将是您想要完成的更简单的解决方案.

A = dlmread('filename.txt',',') % call dlmread and specify a comma as the delimiter
Run Code Online (Sandbox Code Playgroud)


fpe*_*fpe 6

尝试使用importdata功能

A = importdata(`filename.txt`);
Run Code Online (Sandbox Code Playgroud)

它会解决你的问题.

编辑

备选方案1)

A = dlmread('test_so.txt',',');
Run Code Online (Sandbox Code Playgroud)