MATLAB 结构 - 在结构实例化时以编程方式定义字段的数据类型?

MATLAB struct - Programatically define data-type for fields at struct instantiation?

这个问题关于如何使用代码进行更概念化。

在 MATLAB 中,结构函数允许人们创建一个类似于 "object" 的实体,称为结构,然后添加额外的层或维度

调用structname(n+1).fieldname=new_input_field_value; 然后添加了一个完整的其他层。

但问题是,人们可能会添加一个不想要的值。

我有什么: 对于我的结构模板

table= struct("filename", " ", "F1", 0, "F2", 0, "F3", 0); 

我想不断添加文件名,以及 F1 --> F3 的值。 将从现有文件夹中调用文件名。而 F1 和 F3 是使用 DSP 计算得出的,并且将是某种数字数据类型。

出于我的目的,我只会为 F1-->F3 添加整数或浮点值。

但在手动测试中,您可以为任何字段、字符串、数字添加任何内容 --- 一切都有效。 <-- what我想避免

您可以在添加操作之前检查变量的类型,而不是:

StructName.FieldName = yourVariable;

这样做:

if (isnumeric(yourVariable))
     StructName.FieldName = yourVariable;
end

这是你需要的吗?