如何在matlab中从文本文件中读取矩阵?

时间:2012-08-24 05:00:36

标签: matlab file-io

我的matlab代码所在的文件夹中有一个名为matlab.in的文本文件,其内容为

training_set = [1 2 3; 4 5 6]

如何将此矩阵读入名为training_set的变量?

2 个答案:

答案 0 :(得分:2)

您的文本文件包含可执行的Matlab语句。您甚至可以将它重命名为training_set.m.m后缀很重要),并通过执行它从命令行“读取”它。在我的机器上'命令'

>> training_set

生成响应

training_set =

     1     2     3
     4     5     6

并且,嘿presto,变量training_set现在安全地安置在您的工作区中。

现在祝贺您自己编写了第一个(?)Matlab 脚本,通过访问文档来回顾这个重要主题,以此来奖励自己。

答案 1 :(得分:0)

首先,使用fopen(...)打开它:

fid = fopen('matlab.in');

其次,从文件中读取该行并再次关闭该文件,因为您不再需要它了:

content = fgetl(fid);
fclose(fid);

第三,评估从文件中读取的字符串:

eval(content);

如果要抑制输出,可能要么在文本文件的末尾添加分号,要么使用:

eval(strcat(content,';'));