考虑以下文本文件file
:
1 2 3
4 5 6
7 8 9
我想让linux命令writemat
执行以下操作:
$ writemat --size=3,3 --outputFile=m.mat --name=A <file
生成一个matlab .mat
文件m.mat
,这样我以后可以在Matlab中做到:
>> s=load('m.mat')
s =
A: [3x3 double]
>> s.A
ans =
1 2 3
4 5 6
7 8 9
这样的命令是否存在?或者我必须使用Matlab Application Programming interfaces
自己编写?然而,后者感觉有点像重新发明轮子..
答案 0 :(得分:1)
这不是你想要的,但它可能是等价的:在Matlab中你可以使用
加载一个ASCII文件(就像你的例子中那样)load(name,'-ascii')
其中name
是包含文件名的字符串。文件内容被读入与文件同名的Matlab变量。
如果在同一文件中需要多个变量,则可以将ASCII文件写为
a=[
1 2 3
4 5 6
7 8 9];
b=[
0 1 0 1];
(即添加变量名称和[
,]
,;
符号),然后从Matlab运行。