convert struct field in cell array

2 次查看(过去 30 天)
Doctor G
Doctor G 2016-4-19
I used a json converter which created a 1x15 cell array (see below) that has a field called objectClass (which is a 1x1 struct with one field (objectCalss.objtype) (a number)
I would like to flatten that one field so that objecClass is not a struct, but the number itself.
A picture is worth a 1,000 words...

回答(1 个)

James Tursa
James Tursa 2016-4-19
Do you mean like this:
for k=1:numel(result.objList)
result.objList(k).objectClass = result.objList(k).objectClass.objtype;
end
  3 个评论
Doctor G
Doctor G 2016-4-20
(but I am a C, JavaScript, C#, Python programmer), so this is clear to me. What I hear is that there are map and array operations built into matlab, that might be faster than iteration. But thanks again, this is clear.
James Tursa
James Tursa 2016-4-20
编辑:James Tursa 2016-4-20
There may be some function or combination of functions that can do this, but I doubt you would get any significant speed advantages by using them. The reason is you are manipulating fields of structures, which are variables, not elemental values such as elements of a double array. So even if you could use canned MATLAB functions for this, there would probably be looping code of some sort in the background to accomplish the task much like the for loop above (as opposed to some C/C++ code that would give you a speed advantage like you could get by manipulating elements of a double array).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by