Графики Stateflow® в моделях Simulink® имеют свойство языка действия, которое задает синтаксис, который вы используете, чтобы вычислить с векторами и матрицами. Свойства языка действия:
MATLAB® как язык действия.
C как язык действия.
Для получения дополнительной информации смотрите Различия Между MATLAB и C как Синтаксис языка Действия.
В графиках, которые используют MATLAB в качестве языка действия, обратитесь к элементам вектора или матрицы при помощи индексации на основе одной, разграниченной круглыми скобками. Отдельные индексы для различных размерностей с запятыми.
В графиках, которые используют C в качестве языка действия, обратитесь к элементам вектора или матрицы при помощи основанной на нуле индексации, разграниченной скобками. Заключите индексы для различных размерностей в их собственной паре скобок.
Пример | MATLAB как язык действия | C как язык действия |
---|---|---|
Первый элемент векторного V | V(1) | V[0] |
i th элемент векторного V | V(i) | V[i-1] |
Элемент в строке 4 и столбец 5 матричного M | M(4,5) | M[3][4] |
Элемент в строке i и столбец j матричного M | M(i,j) | M[i-1][j-1] |
Эта таблица суммирует интерпретацию всех бинарных операций на векторных и матричных операндах согласно их порядку очередности (1 = самый высокий, 3 = самый низкий). Бинарные операции левоассоциативны так, чтобы в любом выражении операторы с тем же приоритетом были оценены слева направо. За исключением умножения матриц и операторов деления в графиках, которые используют MATLAB в качестве языка действия, все бинарные операторы выполняют поэлементные операции.
Операция | Приоритет | MATLAB как язык действия | C как язык действия |
---|---|---|---|
| 1 | Умножение матриц. | Поэлементное умножение. Для умножения матриц используйте операцию |
| 1 | Поэлементное умножение. | Не поддерживаемый. Используйте операцию |
| 1 | Матричное правильное деление. | Поэлементное правильное деление. Для матричного правильного деления используйте операцию |
| 1 | Поэлементное правильное деление. | Не поддерживаемый. Используйте операцию |
| 1 | Матрица покинула деление. | Не поддерживаемый. Используйте операцию |
| 1 | Поэлементное покинутое деление. | Не поддерживаемый. Используйте операцию |
| 2 | Сложение. | Сложение. |
| 2 | Вычитание. | Вычитание. |
| 3 | Сравнение, равное. | Сравнение, равное. |
| 3 | Сравнение, не равное. | Сравнение, не равное. |
| 3 | Не поддерживаемый. Используйте операцию | Сравнение, не равное. |
| 3 | Не поддерживаемый. Используйте операцию | Сравнение, не равное. |
Эта таблица суммирует интерпретацию всех унарных операций и действий с векторными и матричными операндами. Унарные операции:
Имейте более высокий приоритет, чем бинарные операторы.
Правоассоциативны так, чтобы в любом выражении они были оценены справа налево.
Выполните поэлементные операции.
Пример | MATLAB как язык действия | C как язык действия |
---|---|---|
| Логический НЕТ. Для битового "НЕ" используйте функцию |
Смотрите включают операции C-Bit. |
| Не поддерживаемый. Используйте операцию | Логический НЕТ. |
| Отрицательный. | Отрицательный. |
| Не поддерживаемый. | Постепенно увеличьте все элементы вектора или матрицы. Эквивалентный |
| Не поддерживаемый. | Постепенно уменьшите все элементы вектора или матрицы. Эквивалентный |
Эта таблица суммирует интерпретацию операций присвоения на векторных и матричных операндах.
Операция | MATLAB как язык действия | C как язык действия |
---|---|---|
| Простое присвоение. | Простое присвоение. |
| Не поддерживаемый. Используйте выражение | Эквивалентный |
| Не поддерживаемый. Используйте выражение | Эквивалентный |
| Не поддерживаемый. Используйте выражение | Эквивалентный |
| Не поддерживаемый. Используйте выражение | Эквивалентный |
Можно присвоить значение отдельной записи вектора или матрицы при помощи синтаксиса, соответствующего языку действия графика.
Пример | MATLAB как язык действия | C как язык действия |
---|---|---|
Присвойте значение 10 первому элементу векторного V . | V(1) = 10; | V[0] = 10; |
Присвойте значение 77 элементу в строке 2 и столбце 9 матричного M . | M(2,9) = 77; | M[1][8] = 77; |
В графиках, которые используют MATLAB в качестве языка действия, можно указать все элементы вектора или матрицы в отдельном операторе. Например, это действие присваивает каждый элемент 2 3 матричного A
к различному значению:
A = [1 2 3; 4 5 6];
В графиках, которые используют C в качестве языка действия, можно использовать скалярное расширение, чтобы установить все элементы вектора или матрицы к тому же значению. Например, это действие устанавливает все элементы матричного A
к 10
:
A = 10;