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
这是你需要的吗?
这个问题关于如何使用代码进行更概念化。
在 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
这是你需要的吗?