dlmwrite 在循环中使用单元格类型作为名称
Posted
技术标签:
【中文标题】dlmwrite 在循环中使用单元格类型作为名称【英文标题】:dlmwrite in a loop using cell type as the name 【发布时间】:2014-10-10 03:57:21 【问题描述】:我想通过调用我的单元格名称来保存我的文件名:
bench(1:15).applicationNames
他们是这样的:
ans =
'mvt'
ans =
'symm'
等
测试了所有类型的转换(cellstr、char、sprintf),我似乎找不到将我的数组保存为循环中的波纹管的解决方案:
dlmwrite('result_<bench(a),applicationName>.csv'),[zz' sort(bench(a).norm)],',')
上面提到的每个 bench.application 都有一个名称。
【问题讨论】:
【参考方案1】:使用sprintf
代替您的第一个字符串:
sprintf('result_%s.csv',bench(a).application:)
编辑:已修复,因为有人向我指出 bench.application
是一个单元字符串。
【讨论】:
我已经这样用过了,dlmwrite不支持单元格输入:dlmwrite(sprintf('%s.csv',bench(1).application),[zz' sort(bench(1).norm)],',') Error using sprintf Function is not defined for 'cell' inputs.
尝试将bench(1).application
替换为bench(1).application:
。或char(bench(1).application)
.
通常在访问元胞数组时,例如使用c(i)
,您将获得仍由单元格包裹的单元格内容。当您改用ci
时,您只会获得单元格的内容,而没有单元格包装。因此,在您的情况下,您得到的是字符串,而不是单元字符串。 :
告诉 MATLAB 将单元矩阵中的每个单元转换为其实际内容 - 因为您只有一个单元,这与 application1
相同。以上是关于dlmwrite 在循环中使用单元格类型作为名称的主要内容,如果未能解决你的问题,请参考以下文章
php foreach 循环中的 HTML 表格,其中仅当元素等于表格列标题名称时才会填充单元格数据
循环遍历表的单元格并使用ForEach onClick - Javascript / Jquery