我在与我的 matlab 代码相同的文件夹中有一个文本文件matlab.in
,它的内容是
training_set = [1 2 3; 4 5 6]
如何将此矩阵读入一个名为的变量training_set
?
您的文本文件包含一个可执行的 Matlab 语句。您可以,甚至可能应该将其重命名为training_set.m
(.m
后缀很重要),然后通过执行它从命令行简单地“读取”它。在我的机器上的“命令”
>> training_set
生成响应
training_set =
1 2 3
4 5 6
而且,嘿,很快,变量training_set
现在安全地安置在您的工作区中。
现在祝贺自己编写了第一个 (?) Matlab脚本,奖励自己访问文档以查看这个重要主题。
首先,使用以下命令打开它fopen(...)
:
fid = fopen('matlab.in');
其次,从文件中读取该行并再次关闭文件,因为您不再需要它:
content = fgetl(fid);
fclose(fid);
第三,评估从文件中读取的字符串:
eval(content);
如果你想禁止输出,你可能想在文本文件的末尾添加一个分号,或者改用:
eval(strcat(content,';'));
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