mydata3.mat文件的数据结构是这样的:
其中的trajLU(列名)是struct类型,其中的数据是1×1的cell,每个cell里又是n×3的double数据,说起来有些复杂,处理也费了些周折,要不然也不值得记录了 :)
直接上matlab代码:
%加载文件
f = load('whydata3.mat')
%把traj开头的转到xls里
for i=1:183
t1 = struct2cell(trajS) %trajLU是struct类型,转为cell
t2 = cell2mat(t1(i)) %再把cell转为mat,然后数据就被剥离出来了
writematrix(t2,'trajS.xls','Sheet',i) %把183个struct的数据分别写入183个sheet中
end
就是这很简单的几行代码,研究了好久(其实还有其他数据类型,再整理),主要对matlab太生疏了,这个过程中,发现了writematrix()
这个宝藏函数,可以把这1 ×183个struct放到一个excel中的183个sheet中,很方便。以下是官网的介绍:
%Write the matrix to M.xls, to the second worksheet in the file, starting at the third row.
writematrix(M,'M.xls','Sheet',2,'Range','A3:E8')
处理结果是这样:
总结:
1、官方文档最值得看,说的很清楚,还有示例,各种博客上的帖子要么是只适用于特定的工作,要么是其他地方粘贴过来的,很乱,特别耽误时间。
matlab官网:https://www.mathworks.com/help/matlab/ref/writematrix.html
2、对于不熟悉的内容,可以各大博客上搜“相关的函数有什么”,然后再在官网上查这个函数的具体用法,效率更高,不然不熟悉某个语言,直接去官网也不知道怎么查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)