How to automize removal of NaN's for a structure?
5 次查看(过去 30 天)
显示 更早的评论
Hello! I have some NaN's in my structure, and have tried various things but what I've gotten to work, in order to change them to zero is the following:
CL.i0(isnan(CL.i0)) = 0;
CL.i1(isnan(CL.i1)) = 0;
CL.i2(isnan(CL.i2)) = 0;
CD.i0(isnan(CD.i0)) = 0;
CD.i1(isnan(CD.i1)) = 0;
CD.i2(isnan(CD.i2)) = 0;
CM.i0(isnan(CM.i0)) = 0;
CM.i1(isnan(CM.i1)) = 0;
CM.i2(isnan(CM.i2)) = 0;
Is there any way to change this to automize it for future code?
Thanks in advance guys.
0 个评论
采纳的回答
Walter Roberson
2020-4-7
You can adapt the code I posted at https://www.mathworks.com/matlabcentral/answers/514678-how-do-i-remove-all-fields-of-a-structure-that-have-at-least-one-nan
In restricted cases where the structure fields are guaranteed to be simple data types, then you can use much smaller code.
structfun(@(F) fillmissing(F, 'constant', 0), CL, 'uniform', 0)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!