如何拯救Struct txt文件吗

408(30天)
先生可知
先生可知 2015年4月16日
编辑: 罗伯•坎贝尔 2020年4月14日
你好,
我有这样的数据保存在结构格式
= = =
MyData =
1 x405结构体数组字段
距离
二进制
= = =
我的问题是:如何将这些细胞数组保存到文本文件吗?

答案(3)

Guillaume
Guillaume 2015年4月16日
如果字段是标量,最简单的方法是将结构 然后使用 writetable :
writetable (struct2table (MyData),“somefile.txt”)
2的评论
Guillaume
Guillaume 2015年4月17日
你必须有一个旧版本的matlab。 struct2table R2013b以来已经存在。

登录置评。


亚当
亚当 2015年4月16日
编辑:亚当 2015年4月16日
医生
你将不得不把代码放在一起使用流没有内置函数,可以神奇地将任意结构保存到一个文本文件。
我假设您希望使用Matlab否则以外的文件保存到一个.mat文件会更好。
2的评论
亚当
亚当 2015年4月16日
医生
只是需要你的帮助页面功能需要使用。有例子,但是对于自己的struct必须解决如何自己格式的文本文件。

登录置评。


罗伯•坎贝尔
罗伯•坎贝尔 2020年4月14日
编辑:罗伯•坎贝尔 2020年4月14日
这可能做你想做的事情: https://github.com/ewiger/yamlmatlab
它也处理嵌套结构。例如,如果我定义一个结构是这样的:
settings.main。medFiltRawImage = 5;
settings.main.doTiledMerge = true;
settings.main.tiledMergeThresh = 1.05;
settings.main.secondExpansion = false;
settings.main.defaultThreshSD = 7;
settings.mainBin。removeNoise = true;
settings.mainBin。medFiltBW = 5;
settings.mainBin。primaryShape =“磁盘”;
settings.mainBin。primaryFiltSize = 50;
settings.mainBin。expansionShape =“广场”;
settings.mainBin。doExpansion = true;
settings.mainBin。expansionSize = 600;
settings.mainGetBB。minSizeInSqMicrons = 15000;
settings.mergeO.mergeThresh = 1.3;
settings.stackStr.rescaleTo = 50;
settings.autoThresh.skipMergeNROIThresh = 10;
settings.autoThresh.doBinaryExpansion = false;
然后它将保存到磁盘 yaml。WriteYaml于是它将看起来像:
主要:{medFiltRawImage: 5.0, doTiledMerge:真的,tiledMergeThresh: 1.05, secondExpansion:假的,
defaultThreshSD: 7.0}
mainBin: {removeNoise:真的,medFiltBW: 5.0, primaryShape:磁盘、primaryFiltSize: 50.0,
expansionShape:广场,doExpansion:真的,expansionSize: 600.0}
mainGetBB: {minSizeInSqMicrons: 15000.0}
mergeO: {mergeThresh: 1.3}
stackStr: {rescaleTo: 50.0}
autoThresh: {skipMergeNROIThresh: 10.0, doBinaryExpansion:假}

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!