Преобразуйте скаляры в нескаляры при помощи скалярного расширения

Скалярное расширение является методом преобразования скалярных данных, чтобы совпадать с размерностями векторных или матричных данных. Например, в этом присвоении, скалярное расширение преобразовывает значение 1 к вектору или матрице, где все элементы равняются 1:

A = 1;

Скалярное расширение поддерживается только в графиках Stateflow®, которые используют C в качестве языка действия.

Как скалярные работы расширения для функций

Предположим, что у вас есть функциональная подпись yy = f(uu), где формальные аргументы yy и uu являются скалярами. Примите, что у вас есть вызов функции y = f(u). Правила скалярного расширения для вызовов функции с одним выводом следуют.

Выведите yВведите uРезультат
СкалярСкалярНикакое скалярное расширение не происходит.
Вектор или матрицаСкалярСкалярное расширение происходит для f(u), чтобы совпадать с размерностями y.
Вектор или матрицаВектор или матрицаСкалярное расширение происходит так, чтобы y[i] = f(u[i]).
СкалярВектор или матрицаСообщение об ошибке предупреждает вас к несоответствию размера.

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

Правила скалярного расширения применяются ко всем функциям, которые вы используете в диаграммах Stateflow:

  • Функции MATLAB®

  • Графические функции

  • Функции Simulink®

  • Функции таблицы истинности

Похожие темы