如何在Matlab中向非空结构中添加新字段?

时间:2016-10-18 12:06:11

标签: arrays matlab struct cells matlab-struct

我有一个1乘565结构数组GRID,其中每个结构有五个字段:

A
B
C
D
E

每个字段都有一些价值,现在我需要向G中的每个元素添加第六个字段GRID。我试过了:

GRID(:).G=addfield(G,[])
GRID(:).G=[]

但这不起作用。我需要的是GRID(1)产生

A
B
C
D
E
G

其中每个都分配了一个double值。

2 个答案:

答案 0 :(得分:1)

您可以使用deal

[GRID(:).G]=deal([])

答案 1 :(得分:1)

您可以将空数组分配给结构数组的 last 元素的新字段。

由于你有一个结构数组,MATLAB会自动将这个字段添加到数组中的所有其他结构,并将其设置为默认值([]

GRID(end).G = [];