1

我在与我的 matlab 代码相同的文件夹中有一个文本文件matlab.in,它的内容是

training_set = [1 2 3; 4 5 6]

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

4

3 回答 3

2

您的文本文件包含一个可执行的 Matlab 语句。您可以,甚至可能应该将其重命名为training_set.m.m后缀很重要),然后通过执行它从命令行简单地“读取”它。在我的机器上的“命令”

>> training_set

生成响应

training_set =

     1     2     3
     4     5     6

而且,嘿,很快,变量training_set现在安全地安置在您的工作区中。

现在祝贺自己编写了第一个 (?) Matlab脚本,奖励自己访问文档以查看这个重要主题。

于 2012-08-24T06:21:27.907 回答
0

首先,使用以下命令打开它fopen(...)

fid = fopen('matlab.in');

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

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

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

eval(content);

如果你想禁止输出,你可能想在文本文件的末尾添加一个分号,或者改用:

eval(strcat(content,';'));
于 2012-08-24T05:53:17.433 回答
0
file1.txt: 1 2 3 4 5 6 7 8
           10 20 30 40 50 60 70 80

    [fileID,errmsg] = fopen('file1.txt')
    val= textscan(fileID, '%u8')
    z = transpose(cell2mat(val))
    vec = transpose(reshape(z, [8 2]))

...

Gives you 
vec =

  2×8 uint8 matrix

    1    2    3    4    5    6    7    8
   10   20   30   40   50   60   70   80
于 2021-11-06T04:25:38.137 回答