Матричная сумма fi
объекты
альтернативный путь состоит в том, чтобы выполнить C
= plus(A
,B
)A+B
.
Примечание
Для получения информации о fimath
свойства, вовлеченные в вычисления Fixed-Point Designer™, смотрите Использование свойств fimath для Вычислений с фиксированной точкой и fimath ProductMode и SumMode.
В этом примере показано, как использовать неявное расширение, чтобы добавить векторы и матрицы с совместимыми размерностями.
Добавьте векторы строки и столбца
Создайте вектор-столбец 3 на 1 и вектор-строку 1 на 5 и добавьте их.
x = fi([1;2;3]); y = fi([1,2,3,4,5]); z = x + y
z = 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 18 FractionLength: 13
Результатом является матрица 3 на 5, где каждый (i,j)
элемент в матрице дан z(i,j) = x(i) + y(j)
.
Добавьте матрицу и вектор-столбец
Создайте матрицу M на n и вектор-столбец M-1 и добавьте их.
x = fi([1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]); y = fi([1;2;3]); z = x + y
z = 2 3 4 5 6 8 9 10 11 12 14 15 16 17 18 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 19 FractionLength: 13
Результатом является матрица M на n, где каждый (i,j)
элемент в матрице дан z(i,j) = x(i,j) + y(i)
.
Добавьте матричный и вектор-строку
Создайте матрицу M на n и вектор-строку 1 на n и добавьте их.
x = fi([1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]); y = fi([1 2 3 4 5]); z = x + y
z = 2 4 6 8 10 7 9 11 13 15 12 14 16 18 20 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 18 FractionLength: 12
Результатом является матрица M на n, где каждый (i, j) элемент в матрице дан z (i, j) = x (i, j) + y (j).
Добавьте матрицу в многомерный массив
Создайте матрицу M на n и M N P массивом и добавьте их.
x = fi(ones(3,5)); y = fi(ones(3,5,3)); z = x + y
z = (:,:,1) = 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 (:,:,2) = 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 (:,:,3) = 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 17 FractionLength: 14
Результатом является M N P массивом, где каждому (i, j, k) элемент в массиве дает z (i, j, k) = x (i, j) + y (i, j, k).
A
— Входной массивВходной массив в виде скаляра, вектора, матрицы или многомерного массива fi
объекты или встроенные типы данных. Входные параметры A
и B
должен или быть одного размера или иметь размеры, которые совместимы. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
plus
не поддерживает fi
объекты типа данных boolean
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
B
— Входной массивВходной массив в виде скаляра, вектора, матрицы или многомерного массива fi
объекты или встроенные типы данных. Входные параметры A
и B
должен или быть одного размера или иметь размеры, которые совместимы. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
plus
не поддерживает fi
объекты типа данных boolean
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
Поведение изменяется в R2021b
Запуск в R2021b со сложением неявного расширения для fi
times
, plus
, и minus
, некоторые комбинации аргументов для основных операций, которые ранее возвратили ошибки теперь, приводят к результатам.
Если ваш код использует поэлементные операторы и использует ошибки что MATLAB® ранее возвращенный для несовпадающих размеров, особенно в try/catch
блокируйтесь, затем ваш код больше не может фиксировать те ошибки.
Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.
Указания и ограничения по применению:
Любой non-fi
входные параметры должны быть постоянными; то есть, его значение должно быть известно во время компиляции так, чтобы это могло быть брошено к fi
объект.
Входные параметры не могут иметь типа данных logical
.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.