MATLAB struct - программно определить тип данных для полей при создании экземпляра структуры? - PullRequest
1 голос
/ 04 апреля 2019

Этот вопрос более концептуален о том, как работать с кодом.

В MATLAB функция структуры позволяет людям создавать объектоподобную сущность, называемую структурой, а затем добавлять дополнительные слои или измерения.

вызовите имя структуры (n + 1). Fieldname = new_input_field_value; и тогда это добавляет целый другой слой.

Проблема в том, что, возможно, люди могут добавить значение, которое не предназначено.

Что у меня есть: Для моего шаблона структуры

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

Я хочу постоянно добавлять имена файлов и значения для F1 -> F3. Имена файлов будут вызываться из существующей папки. И F1 и F3 рассчитываются с использованием вычислений DSP, и это будет своего рода числовой тип данных.

Для моих целей я буду добавлять только целые или плавающие значения для F1 -> F3.

Но при ручном тестировании вы можете добавить что угодно для любых полей, строк, чисел - все действительно. <- <strong>что я хочу избежать

1 Ответ

1 голос
/ 04 апреля 2019

Вы можете проверить тип переменной перед операцией добавления, поэтому вместо:

StructName.FieldName = yourVariable;

Сделайте это:

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

Это то, что вам нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...