matlab声明空的结构体,matlab – 将字段添加到空结构中

假设我有一个大小为0x1的结构S,字段为a和b,那么向它添加字段c的最优雅的方法是什么?

通常我能够这样做:

S = struct('a',0,'b',0); %1x1 struct with fields a,b

S.c = 0

但是,如果我收到一个空结构,这将不再起作用:

S = struct('a',0,'b',0);

S(1) = []; % 0x1 struct with fields a,b

S.c = 0;

% A dot name structure assignment is illegal when the structure is empty.

% Use a subscript on the structure.

我已经想到了两种方法来处理这个问题,但两者都非常难看并且感觉像是解决方法而不是解决方案. (注意,非空结构的可能性也应该正确处理).

>向结构中添加一些内容以确保它不为空,添加字段,并再次将结构设置为空

>使用必需的字段名初始化新结构,使用原始结构中的数据填充它,并覆盖原始结构

我意识到我关心空结构可能很奇怪,但不幸的是,如果字段名不存在,那么我未管理的部分代码将崩溃.我看了帮助struct,帮助subsasgn并搜索给定的错误消息但到目前为止我还没有找到任何提示.因此非常感谢帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值