例如,如果我将此矩阵存储在mat
:
0.9058 0.1270 0.9134
0.6324 0.0975 0.2785
是否有一些函数func(mat)
会返回一个我可以传递给eval
的字符串,或者在控制台上用来重新声明该变量,例如:
[0.9058,0.1270,0.9134;0.6324,0.0975,0.2785]
我还没有找到任何搜索documentation的内容,但我在其他语言中找到了这样的功能,例如Python的repr
,在交互/控制台使用期间非常方便。
答案 0 :(得分:4)
编辑:原来的答案完全是假的,这里更好:
mat2str(mat)
怎么样?
http://www.mathworks.se/help/matlab/ref/format.html
str = mat2str(A)将矩阵A转换为字符串。这个字符串是 适合输入eval函数,使得eval(str)产生 原始矩阵精度在15位以内。
答案 1 :(得分:1)
替代解决方案是来自FileExchange的MATRIX2M。它也适用于3D矩阵,mat2str
不能。虽然输出不是那么漂亮。
>> x = rand([1 2 2]);
>> Matrix2M('x')
ans =
x = zeros(1,2,2);
x(1,1,1) = 0.16218230819324275;
x(1,2,1) = 0.79428454068390697;
x(1,1,2) = 0.31121504204480488;
x(1,2,2) = 0.52853313550621273;
>> class(ans)
ans =
char