cpengineer Ответов: 0

Как интерпретировать структуру данных в функции конструктора matlab?


Не могли бы вы объяснить мне код Matlab ниже? В чем причина использования структуры в функции конструктора?
Почему существует проверка if-else для StructParameters.noInput? Какова же цель этого?

Большое спасибо!!!

classdef класса MyClass
    свойства
        один;
        д;
        noInput;
    конец
    методы
        функция obj=myClass(StructParameters)
            если Наргин= = 0
                Структурные параметры.noInput=1;
            еще
                Структурные параметры.noInput=0;
            конец
           
            if ~isstruct(StructParameters)
                ошибка ('входной аргумент должен быть struct.')
            еще
                % загрузка параметров
                F=поля (StructParameters);
                для x=1: длина (F)
                    об..(F{x})=StructParameters.(F{x});
                конец
            конец
                    
            если ~действительно(StructParameters, "а")
                obj. a=[1 2; 4 5];
            конец
   
           if ~isfield(StructParameters, 'd')
                obj. d=[0 1; 4 5];
            конец
        конец
       
     конец
   
конец

Что я уже пробовал:

Сделал поиск в Google и некоторых других форумах, но все еще испытывал трудности с пониманием использования структуры в функции конструктора.

RedDk

Я не инженер, а просто миньон, и я не использую MATLAB и не претендую на понимание материала «Struct (s)», но, просто глядя на этот блок кода, я предполагаю, что вы спрашиваете обо всей этой инициализации под названием « мои занятия". В этом случае параметр либо есть, либо его нет, и инициализация завершится в соответствии с первым тестом (noInput). Во-вторых, получение «а» каким-то образом формально объективировано тем, что инициализирует этот класс; отличаться наличием буквы «d», то есть. ... Я не уверен, что на приведенный выше вопрос кто-то может здесь ответить. Итак, попробовать StackExchange для MATLAB? Введите ключевые слова из справки по установке, желательно сочетания концепций, которые являются самыми большими загадками и т. Д.

cpengineer

Спасибо за ваш ответ и комментарии RedDk.
В следующем операторе if-else-end значения (1 и 0)
Структурные параметры.noInput - это просто двоичный файл, указывающий, есть вход или нет?

если Наргин= = 0
                Структурные параметры.noInput=1;
            еще
                Структурные параметры.noInput=0;
            конец

0 Ответов