arrays - Matlab中清空结构体数组的所有字段

标签 arrays matlab

为了简单起见,让我们坚持 this official Matlab example .

我运行以下代码,并创建了一个包含三个字段的结构。

patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205];

然后,为了创建结构体数组,我只需执行以下操作。

patient(2).name = 'Ann Lane';
patient(2).billing = 28.50;
patient(2).test = [68, 70, 68; 118, 118, 119; 172, 170, 169];

此时我有一个结构体数组,明确表示为 this picture : enter image description here

问题来了:如何清空结构体patent(2)的所有字段?

理想情况下(请原谅滥用符号)我想做一些类似 patent(2).* = {}.

逐个调用字段不是一种选择,因为在我的实际代码中我有很多字段,我也无法将结构转换为单元格。

提前致谢!

最佳答案

如果此操作频繁,最好准备一个 EMPTY_PATIENT:

EMPTY_PATIENT = struct( ...
   'name', {},          ...
   'billing', {},       ...
   'test', {}           ...
);

然后使用简单的赋值(速度非常快)来清空该位置:

patient(2) = EMPTY_PATIENT;

关于arrays - Matlab中清空结构体数组的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24828528/

相关文章:

c++ - 删除动态分配的数组时出错

javascript - 使用 for 循环、数组和事件监听器更改输入元素的 "name"属性 - 无 jQuery

sorting - 从 MatLAB 中的数组中获取最接近零的值?

image - 如何在 MATLAB 中将图像变形为梯形

matlab - 在 MATLAB 中使用 PCA 和 scatter3 可视化大型监督学习数据集

javascript - Angular ng-options 复杂的 json 数组

c++ - 将多维数组传递给接受 char*[] 的函数

arrays - 在给定矩阵的每一行中找到最后一个非零元素的索引?

matlab - 查找 0's separating islands of 1' 的长度并分配它们

algorithm - 不相交椭圆的最近邻居三重奏