function

Выражения повторного использования в уравнениях компонента и в объявлениях элемента областей и компонентов

Резюме

function out = FunctionName(in1,in2)
   definitions
      out = Expression1(in1,in2);
   end
end

Описание

function ключевое слово начинает объявление функции Simscape™, которое отключено end ключевое слово. Только пустые строки и комментарии могут предшествовать function. Необходимо поместить объявление функции в файл того же имени с расширением файла .ssc.

Ключевое слово function должен сопровождаться функциональным заголовком, который включает имя функции, входные параметры и выходные параметры.

Тело функции должно быть заключено в definitions блокируйтесь, который отключен end ключевое слово. definitions блок содержит уравнения, которые выражают выходные аргументы функции в терминах ее входных параметров. Этот блок требуется.

Следующий синтаксис объявляет простую функцию.

function out = FunctionName(in1,in2)
   definitions
      out = Expression1(in1,in2);
   end
end

Если функция имеет несколько возвращаемых значений, синтаксис:

function [out1,out2] = FunctionName(in1,in2)

Синтаксические правила

  • Имя файла должно совпадать с именем функции. Например, функциональный foo должен быть в файле под названием foo.ssc.

  • Один или несколько выходных параметров позволены.

  • Если выходной параметр не используется на левой стороне definitions разделите, вы получаете ошибку.

  • Нуль или более входные параметры позволены.

  • Когда функция вызвана, количество входных параметров должно совпадать с количеством входных параметров.

  • Входные параметры позиционны. Это означает, что первый входной параметр во время вызова функции передается первому входному параметру и так далее. Например, если вы пишете уравнение:

    o == FunctionName(5,2);

    затем in1 5 и in2 2.

  • Если функция имеет несколько возвращаемых значений, они также позиционны. Таким образом, первый выходной параметр присвоен первому возвращаемому значению и так далее.

  • Если функция имеет несколько возвращаемых значений, правила и ограничения эквивалентны для функций объявления. Для получения дополнительной информации смотрите Несколько Возвращаемых значений.

  • definitions раздел может содержать средние сроки и if-elseif-else операторы. Те же синтаксические правила как в разделе объявления let оператор применяется. Для получения дополнительной информации смотрите использующие Средние термины в уравнениях.

  • definitions раздел не может содержать выражения с динамической семантикой, такие как integВремя, der, edge, initialevent, или delay.

Упаковка правил

Примеры

Объявите функцию, которая вычисляет квадрат суммы двух чисел:

function out = SumSquared(in1,in2)
   definitions
      out = in1^2 + 2*in1*in2 + in2^2;
   end
end

Сохраните функцию в файле с именем SumSquared.ssc, на пути MATLAB.

Этот компонент вызывает SumSquared функция, чтобы вычислить квадрат суммы его параметров p1 и p2.

component MyComp
   outputs
      o = 0;
   end
   parameters
      p1 = 5;
      p2 = 2;
   end
   equations
      o == SumSquared(p1,p2);
   end
end

Для более подробного примера объявления и использования функции Simscape, смотрите пример Функций Simscape.

Смотрите также

Введенный в R2017b