Fre*_*red 2 matlab matlab-struct
所以我有几个结构包含使用的数据是十几个脚本.问题是,对于每个脚本,我只需要一些变量,其余的我可以忽略.我正在使用大量的数据(数据演出),MATLAB经常给我带来内存错误,所以我需要从结构中删除所有不必要的字段.
目前我有一个包含所有不需要的字段的单元格,然后我在结构上调用rmfield.但结构中的字段经常发生变化,不断更新不需要的字段列表变得很痛苦.那么有没有办法告诉MATLAB只保留我想要的那些字段并删除其他所有字段,即使我不知道其他什么是什么?
这是一个例子,
有时,Struct 3可能只有A到G.
我想只保留A,B和C字段并从所有结构中删除所有其他数据.
这是一种方法:
fieldnames例
s.a=1
s.b=2
s.c=3
s.d='chitchat'
tokeep = {'a','b'}
f=fieldnames(s)
toRemove = f(~ismember(f,tokeep));
s = rmfield(s,[toRemove])
Run Code Online (Sandbox Code Playgroud)