所以,我目前有一个MATLAB脚本可以处理数据,然后使用模板.dat文件创建大约20个.dat文件,只更改了一个列(我一直在使用{{1分别用于读取和写入文件的函数和dataset
。将使用.dat文件ExperimentBuilder的程序要求标题具有以美元符号开头的名称(例如:export
)。但是,当我在MATLAB中使用数据集函数导入模板文件时,我收到此警告:
$image
然后它将变量中的所有美元符号替换为Warning: Variable names were modified to make them valid MATLAB identifiers.
(例如,x_
),如果它允许我将其更改回$格式,那就没问题了。但每当我尝试使用x_image
时,它只会再次向我发出此警告并将其还原为set
,这是ExperimentBuilder无法读取的。
我知道我可以使用原始标题快速复制并粘贴每个文件,但我想知道是否有办法在实际代码中解决此问题。
谢谢!
答案 0 :(得分:0)
事情是MATLAB database
使用标题名称来提供对名称的访问,这就是标题名称必须是有效标识符的原因(isvarname()
表明它必须以字母开头,并且仅包含有效的字母数字字符[a-zA-Z0-9_]
)。
最简单的解决方案是自己手动编写标题行(包括以$
开头的名称),同时单独导出不带标题的数据:
export(ds, ..., 'WriteObsNames',false)
(注意dataset.export
默认会覆盖文件,所以你必须先export
,然后在文件的开头加上标题行。或者如果你习惯修改MATLAB自己功能,然后转到edit dataset.export
并将fopen
模式从覆盖'wt'
更改为追加'at'
模式。)