最好用一个简单的例子来说明。说在MATLAB中的一些脚本为我提供了一个字符串单元格数组:
temp = dir;
names = {temp.name}'
ans =
'folder1'
'folder2'
'file1'
我想在另一个matlab会话的另一个脚本中使用此输出。理想情况下,我将在第二个脚本中编写
names = {'folder1', 'folder2', 'file1'}
但这意味着在“ ans =”下复制粘贴输出,然后手动添加逗号和大括号。在我的情况下,单元阵列非常大,因此这是不希望的。更令人感到笨拙的是,还有一种更简单的方法。有没有什么方法可以使matlab以不必执行此操作的方式打印输出?
对于矩阵而不是单元数组,完全知道同一件事!!
我知道将变量保存在.mat文件中并加载它,但是我想知道是否也可以进行上述操作(就我而言,它更干净)。
我个人建议使用更清洁的方式来处理此问题(例如Mat文件)。
但是话又说回来,有时对于那些不太可能重复的简单任务来说,花时间设置这些时间是不值得的...
对于矩阵,有一个内置函数可以执行此操作,但是对于单元格,我们将需要产生具有所需格式的字符串...
为一维或二维矩阵mat2str
提供此功能
mat2str(eye(2))
ans =
[1 0;0 1]
但是据我所知,细胞没有这种内置功能。
对于一维单元格字符串数组,以下内容将以可复制的格式给出输出:
['{',sprintf('''%s'' ',names{:}),'}']
ans =
{'folder1' 'folder2' 'file1' }
注意:单元格中的'
字符串不能包含字符
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句