Матрица вычисление: Онлайн калькулятор. Определитель матрицы. Детерминант матрицы

Вычислить матрицу несоответствий—Справка | ArcGIS Desktop

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Краткая информация

Вычисляет матрицу несоответствий на основе ошибок пропуска и невыполнения, и получает значение Каппа. Оно является показателем согласованности между классифицированной картой и базовыми данными.

Этот инструмент использует выходные данные инструмента Создать точки оценки точности или Обновить точки оценки точности.

Использование

  • Этот инструмент вычисляет матрицу несоответствий, используя произвольные точки оценки точности. Точки оценки точности создаются инструментом Создать точки оценки точности и обновляются при помощи инструмента Обновить точки оценки точности. Эти инструменты гарантируют, что каждая точка имеет корректные значения класса в полях CLASSIFIED и GROUND_TRUTH. Инструмент вычисляет точность пользователя и точность построителя для каждого класса, а также общий индекс Kappa. Диапазон точности варьируется от 0 до 1, при этом 1 означает 100% точность. Ниже приведен пример матрицы несоответствий.

    c_1

    c_2

    c_3

    Всего

    U_Accuracy

    Kappa

    c_1

    49

    4

    4

    57

    0.8594

    0

    c_2

    2

    40

    2

    44

    0. 9091

    0

    c_3

    3

    3

    59

    65

    0.9077

    0

    Всего

    54

    47

    65

    166

    0

    0

    P_Accuracy

    0.9074

    0.8511

    0.9077

    0

    0.8916

    0

    Kappa

    0

    0

    0

    0

    0

    0. 8357

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

    Точность пользователя называют также ошибками достоверности или ошибкой типа 1. Данные для расчета коэффициента ошибок считываются со строк таблицы.

    Строка Всего показывает число точек, которые согласно базовым данным должны были определиться как заданный класс.

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

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

    Столбец Всего показывает число точек, которые согласно классифицированной карте определились как заданный класс.

  • Индекс Kappa дает общую оценку точности классификации.

Синтаксис

ComputeConfusionMatrix (in_accuracy_assessment_points, out_confusion_matrix)
ПараметрОбъяснениеТип данных

in_accuracy_assessment_points

Класс объектов точек оценок точности создается инструментом Создать точки оценки точности, он содержит поля CLASSIFIED и GROUND_TRUTH.

Feature Layer

out_confusion_matrix

Имя выходного файла матрицы несоответствий в табличном формате.

Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных. Если путь не в базе геоданных, укажите расширение .dbf, чтобы он был в формате dBASE.

Table

Пример кода

ComputeConfusionMatrix, пример 1 (автономный скрипт)

Пример вычисления матрицы несоответствий на основе точек оценки точности.

import arcpy
from arcpy.sa import *
arcpy.gp.ComputeConfusionMatrix("aapnt2.shp", "confm.dbf")

Параметры среды

  • Автоподтверждение
  • Текущая рабочая область
  • Выходное ключевое слово конфигурации
  • Временная рабочая область

Информация о лицензиях

  • ArcGIS Desktop Basic: Требует Spatial Analyst
  • ArcGIS Desktop Standard: Требует Spatial Analyst
  • ArcGIS Desktop Advanced: Требует Spatial Analyst

Связанные разделы

3 найти

Вы искали 3 найти? На нашем сайте вы можете получить ответ на любой математический вопрос здесь. Подробное решение с описанием и пояснениями поможет вам разобраться даже с самой сложной задачей и вычисление матрица, не исключение. Мы поможем вам подготовиться к домашним работам, контрольным, олимпиадам, а так же к поступлению в вуз. И какой бы пример, какой бы запрос по математике вы не ввели — у нас уже есть решение. Например, «3 найти».

Применение различных математических задач, калькуляторов, уравнений и функций широко распространено в нашей жизни. Они используются во многих расчетах, строительстве сооружений и даже спорте. Математику человек использовал еще в древности и с тех пор их применение только возрастает. Однако сейчас наука не стоит на месте и мы можем наслаждаться плодами ее деятельности, такими, например, как онлайн-калькулятор, который может решить задачи, такие, как 3 найти,вычисление матрица,вычисление определителя 3 порядка онлайн,вычислительная матрица,вычислить матрицу,вычислить онлайн определитель третьего порядка,вычислить определитель 3 порядка онлайн,вычислить определитель 3 порядка онлайн с подробным решением,вычислить определитель матрицы 3х3,вычислить определитель третьего порядка онлайн,вычислить определитель третьего порядка онлайн с решением,вычислить определитель третьего порядка с решением онлайн,как в матрице вычислить определитель,как найти детерминант,как найти определитель,как найти определитель матрица,как найти определитель матрицы 2х3,как найти определитель матрицы 3 на 3,как найти определитель матрицы 3х3,как найти определитель третьего порядка,как находить определитель,как посчитать матрицу,как посчитать матрицу 3 на 3,как посчитать определитель матрицы,как решать определитель,как считается определитель матрицы,как считать матрицу 2 на 2,как считать матрицу 3 на 3,калькулятор определителей 3 порядка,калькулятор определитель 3 порядка,калькулятор определителя 3 порядка,матрица 3 на 3,матрица 3 на 3 решение,матрица 3а 2в,матрица как найти определитель,матрица онлайн 3 на 3,матрица онлайн калькулятор,матрица онлайн третьего порядка,матрица порядка 3,матрица решение 3 на 3,матрица третьего порядка онлайн,матриці калькулятор,матрицы 3 на 3 решение,матрицы как вычислять,матрицы найти,матрицы поиск определителя,матрицы порядка 3,найти значение матричного многочлена онлайн,найти значение матричного многочлена онлайн калькулятор,найти значение многочлена от матрицы онлайн калькулятор,найти определитель 3 порядка онлайн,найти определитель как,найти определитель матрицы 3х3,нахождение определителя матрицы 3 порядка,онлайн вычисление определителя 3 порядка,онлайн вычислить определитель третьего порядка,онлайн калькулятор определитель 3 порядка,онлайн калькулятор определитель 3 порядка онлайн,онлайн калькулятор определитель третьего порядка с решением,онлайн матрица третьего порядка,онлайн определитель 3 порядка,онлайн определитель матрицы 3 на 3,онлайн определитель третьего порядка,онлайн решение определителя 3 порядка,определитель 2 на 3,определитель 3 на 2,определитель 3 на 3,определитель 3 порядка калькулятор,определитель 3 порядка калькулятор онлайн,определитель 3 порядка найти онлайн,определитель 3 порядка онлайн,определитель 3 порядка онлайн калькулятор,определитель 3 порядка онлайн с решением,определитель матрицы 2 на 3,определитель матрицы 3 на 2,определитель матрицы 3 на 3,определитель матрицы 3 на 3 онлайн,определитель матрицы 3 порядка онлайн,определитель матрицы 3х3,определитель матрицы онлайн 3 на 3,определитель третьего порядка онлайн,определитель третьего порядка онлайн калькулятор с решением,определить матрицы найти,посчитать определитель матрицы как,решение матриц 3 на 3,решение матрица 3 на 3,решение матрицы 3 на 3,решение матрицы 3 на 3 онлайн,решение определителя 3 порядка онлайн,упростить матрицу онлайн.

На этой странице вы найдёте калькулятор, который поможет решить любой вопрос, в том числе и 3 найти. Просто введите задачу в окошко и нажмите «решить» здесь (например, вычисление определителя 3 порядка онлайн).

Решить задачу 3 найти вы можете на нашем сайте https://pocketteacher.ru. Бесплатный онлайн решатель позволит решить онлайн задачу любой сложности за считанные секунды. Все, что вам необходимо сделать — это просто ввести свои данные в решателе. Так же вы можете посмотреть видео инструкцию и узнать, как правильно ввести вашу задачу на нашем сайте. А если у вас остались вопросы, то вы можете задать их в чате снизу слева на странице калькулятора.

Введение в матричные расчеты — Информационная лаборатория

26 мая 2017 г. | Бетани Фокс

Многие из вас в мире данных слышали о матричных вычислениях. Матрицы — это большие прямоугольники, заполненные числами, которые часто возникают в методах статистического анализа, и вычисления с ними работают не совсем так, как с обычными числами. В этом блоге я собираюсь объяснить основы матричных вычислений, не вдаваясь в подробности (а для тех из вас, кто хочет понять особенности того, через что я собираюсь пройти, я включу ссылки на веб-сайты, которые могут предложить более подробные пояснения).

Начнем с истории.

Представьте, что вы работаете в баре и вам нужно отчитаться перед начальником об отдельных суммах, потраченных на заказы пива и G&T. Вы думали, что продержались всю ночь, пока не нашли две квитанции; у них есть количество заказанных напитков, их общее количество, но не стоимость разбивки:

Чек 1: 1 пиво + 1 G&T = 9 фунтов стерлингов
Чек 2: 3 пива + 2 G&T = 22 фунта стерлингов

Вы не можете вспомнить затраты на каждый напиток, так что вам нужно попробовать и выяснить это. Сейчас я верну вас к математике GCSE и расскажу об одновременных уравнениях — давайте назовем пиво «x», а G&T — «y». Итак, наша задача сводится к следующему набору уравнений:

Мы можем просмотреть этот набор уравнений в матричной форме:

(сейчас я объясню, как это работает…) что? Все выглядело прекрасно, как и прежде! И я бы согласился.

Это система из 2 уравнений с 2 ​​неизвестными переменными (x и y), так что это довольно просто… но что произойдет, если вы облажаетесь со всей таблицей бара и вам нужно вычислить индивидуальную стоимость каждого напитка, проданного за это время? ночь? Или, с точки зрения математики, что произойдет, если у вас есть n уравнений с n неизвестными переменными? Вот где приятно упаковать все ваши уравнения в симпатичный маленький матричный пакет. Я не буду вдаваться в подробности того, как решить эту конкретную проблему с матрицами, так как это может довольно быстро привести к довольно сложным вещам, но это один из способов, которым матрицы могут быть действительно полезными!

Итак, как эта странная скобка связана с этими уравнениями? Как мне вернуться к уравнениям, которые я предпочитал раньше? Вы используете умножение матриц!

Умножение матриц

Это не так сложно, как кажется, все, что вам нужно сделать, это умножить строки на столбцы и сложить элементы. Например, чтобы получить уравнение (1), вы умножаете элементы в верхней строке первой матрицы на элементы матрицы-столбца рядом с ней и складываете:

Таким образом, у нас есть:

, тогда вы делаете то же самое с нижним рядом:

, что дает:

, так что в целом, мы имеем:

и это! Вы просто продолжаете, пока все строки в первой матрице не будут умножены на все соответствующие столбцы во второй матрице. Если бы мы перемножали вместе две матрицы размерности, скажем, две матрицы 2×2 (матрицы с 2 строками и 2 столбцами, читается как «2 на 2»), вы просто повторили бы тот же метод для второго столбца второй матрицы. Посмотрите это видео о том, как это работает. Если вы используете R и у вас есть матрица A и матрица B для умножения, команда будет «A%*%B».

Я познакомлю вас с моей подругой по имени Колонки Розы, и она поможет вам вспомнить, в какую сторону умножать элементы — просто пройдите по строкам первой матрицы и вниз по столбцам второй матрица. Никто никогда не будет называться Columns Rose (это просто странно), так что просто запомните ее имя, и вы всегда будете правильно его называть.

Самое время отметить, что порядок матриц имеет значение при умножении — умножение матриц не является коммутативным. Другими словами, если у вас есть матрица с именем A и матрица с именем B, то A∙B≠B∙A («точка» здесь означает умножение). Кроме того, вы не можете умножать любую старую матрицу на любую другую старую матрицу, их размеры должны быть совместимы. В нашем примере с гистограммой мы умножаем матрицу 2×2 на матрицу 2×1. Один трюк, чтобы быстро увидеть, работает ли порядок умножения, состоит в том, чтобы проверить, совпадают ли два средних числа; если они одинаковы, размер вашей новой матрицы будет равен двум внешним числам вместе:

Если два средних числа не совпадают, вы не можете перемножить две матрицы вместе.

Определитель

Обобщим этот пример и возьмем некоторые произвольные значения. Скажем, теперь у нас есть следующие одновременные уравнения:

Где x и y — неизвестные переменные, а a, b, c, d, u и v — известные константы. Это можно записать в матричной форме:

Решение этой системы уравнений:

Если вы не понимаете, как я пришел к этому решению, перейдите по этой ссылке. Обратите внимание, что знаменатель (нижняя часть каждой дроби) одинаков в решении как для x, так и для y. Это значение (ad-bc) называется определителем; если он отличен от нуля, то существует единственное решение уравнений. Определитель в основном определяет, возможно ли найти решение или нет, отсюда и название. Найти его в квадратной матрице 2×2 очень просто. Просто возьмите значения левой диагонали, умноженные вместе, и вычтите из них значения правой диагонали.

Чтобы найти определитель больших квадратных матриц, немного сложнее, я не буду вдаваться в подробности здесь, так как этот блог предназначен только для того, чтобы охватить основы, но если вы хотите узнать больше, я бы порекомендовал проверить этот сайт. Нам понадобится определитель, чтобы найти обратную матрицу. Если вы хотите найти определитель матрицы A в R, используйте команду «det (A)».

Обратная матрица

Обратная матрица в основном равна 1 над этой матрицей. Скажем, у нас есть матрица с именем A, тогда обратная A равна 1⁄A, она также обозначается . К сожалению, вы не можете просто сделать один для каждого элемента в матрице, чтобы получить обратное, это требует немного больше работы. Это достаточно просто в матрице 2×2, поэтому я продемонстрирую это на ней.
У нас есть матрица, и мы хотим найти . Во-первых, давайте немного перетасуем элементы внутри матрицы:

. Теперь все, что нам нужно сделать, это разделить перетасованную матрицу на определитель:

. занимает ОЧЕНЬ много времени для чего-либо большего, чем матрица 3 × 3, вот немного информации об этом. К счастью, мы можем использовать множество онлайн-калькуляторов обратной матрицы, или, если вы используете R, команда просто «решить (A)».

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

Сложение и вычитание матриц

Это возможно только с матрицами одинакового размера, и это настолько просто, насколько вы надеетесь. Просто добавьте или вычтите элементы, которые находятся в одной и той же позиции в каждой матрице.

Умножение/деление матриц на скаляр

Мы уже делали деление на скаляр при поиске обратной матрицы 2×2, делили на определитель (умножали на единицу над определителем). Так что это также легко, как вы надеетесь!

Транспонирование матрицы

Это то, что мы еще не освещали в этом блоге, но это всегда полезно знать, тем более что это так просто! Все, что вам нужно сделать, это превратить все столбцы в строки, а все строки в столбцы. Н.Б. Если матрица, с которой вы это делаете, не является квадратной матрицей (то есть имеет такое же количество строк, как и столбцов), то размеры вашей матрицы будут перевернуты. Транспонирование матрицы A обозначается .

Надеюсь, это удовлетворило все ваши потребности в матрице!

 

 

Matrix Multiplication

arm_status 
arm_mat_mult_f16 (const arm_matrix_instance_f16 *pSrcA, const arm_matrix_instance_f16 *pSrcB, arm_matrix_instance_f16 *pDst)
  Floating-point matrix multiplication. Подробнее…
 
arm_status  arm_mat_mult_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
  Умножение матриц с плавающей запятой. More…
 
arm_status  arm_mat_mult_f64 (const arm_matrix_instance_f64 *pSrcA, const arm_matrix_instance_f64 *pSrcB, arm_matrix_instance_f64 *pDst)
  Floating-point matrix multiplication. Подробнее…
 
arm_status  arm_mat_mult_fast_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst, q15_t *pState)
  Q15 matrix multiplication (fast variant). Подробнее…
 
arm_status  arm_mat_mult_fast_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_qinstance_q31 *pSrcB, arm_instance_q31 *pSrcB, arm_instance0123
  Умножение матриц Q31 (быстрый вариант). More…
 
arm_status  arm_mat_mult_opt_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst, q31_t *pState)
  Q31 matrix multiplication. Подробнее …
ARM_STATUS ARM_MAT_MULT_Q15 (CONST ARM_MATRIX_INSTANCE_Q15 *PSRCA, CONST ARM_MATRIX_INSTANCE_MATRIX_INSTANS0123
  Умножение матриц Q15. More…
 
arm_status  arm_mat_mult_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
  Q31 matrix multiplication. Подробнее..
.
 
arm_status  arm_mat_mult_q7 (const arm_matrix_instance_q7 *pSrcA, const arm_matrix_instance_q7 *pst7pSrcB, arm_qStatinstance_q7 *pst7pSrcB, arm_qstatus_matrix)0123
  Умножение матриц Q7. Подробнее…
 

Умножает две матрицы.

Умножение двух матриц 3 x 3

Умножение матриц определяется только в том случае, если количество столбцов первой матрицы равно количеству строк второй матрицы. Умножение матрицы M x N на матрицу N x P дает матрицу M x P . Когда проверка размера матрицы включена, функции проверяют: (1) внутренние размеры pSrcA и pSrcB равны; и (2) что размер выходной матрицы равен внешним размерам pSrcA и pSrcB .

arm_status arm_mat_mult_f16 ( константа arm_matrix_instance_f16 *  ПСРКА ,
константа arm_matrix_instance_f16 *  pSrcB ,
arm_matrix_instance_f16 *  pDst  
)

Параметры
[in] *pSrcA указывает на первую структуру входной матрицы
[in] *pSrcB указывает на вторую структуру входной матрицы
[out] *pDst указывает на структуру выходной матрицы
Возвращает
Функция возвращает либо ARM_MATH_SIZE_MISMATCH , либо ARM_MATH_SUCCESS в зависимости от результата проверки размера.

arm_status arm_mat_mult_f32 ( константа arm_matrix_instance_f32 *  ПСРКА ,
константа arm_matrix_instance_f32 *  pSrcB ,
arm_matrix_instance_f32 *  pDst  
)

Параметры
[в] *PSRCA Точки к структуре первой входной матрицы
[в] *PSRCB. указывает на структуру выходной матрицы
Возвращает
Функция возвращает либо ARM_MATH_SIZE_MISMATCH , либо ARM_MATH_SUCCESS по результатам проверки размеров.

arm_status arm_mat_mult_f64 ( константа arm_matrix_instance_f64 *  ПСРКА ,
константа arm_matrix_instance_f64 *  pSrcB ,
arm_matrix_instance_f64 *  pDst  
)

Параметры
[в] *PSRCA Точки к структуре первой входной матрицы
[в] *PSRCB. указывает на структуру выходной матрицы
Возвращает
Функция возвращает либо ARM_MATH_SIZE_MISMATCH , либо ARM_MATH_SUCCESS в зависимости от результата проверки размера.

arm_status arm_mat_mult_fast_q15 ( константа arm_matrix_instance_q15 * ПСРКА ,
константа arm_matrix_instance_q15 *  pSrcB ,
arm_matrix_instance_q15 *  пдст ,
q15_t * pState  
)

Умножение матриц Q15 (быстрый вариант) для Cortex-M3 и Cortex-M4.

Параметры
[in] pSrcA points to the first input matrix structure
[in] pSrcB points to the second input matrix structure
[out] pDst points на вывод матричной структуры
[in] pState указывает на массив для хранения промежуточных результатов
Возвращает
состояние выполнения
  • ARM_MATH_SUCCESS : Операция выполнена успешно
  • ARM_MATH_SIZE_MISMATCH: проверка размера матрицы не удалась
Масштабирование и поведение при переполнении
Разница между функцией arm_mat_mult_q15() и этим быстрым вариантом заключается в том, что быстрый вариант использует 32-битный, а не 64-битный аккумулятор. Результат каждого умножения 1,15 x 1,15 усекается до формата 2,30. Эти промежуточные результаты накапливаются в 32-битном регистре в формате 2.30. Наконец, аккумулятор насыщается и преобразуется в результат 1,15.
Быстрая версия имеет то же поведение при переполнении, что и стандартная версия, но обеспечивает меньшую точность, поскольку отбрасывает младшие 16 бит каждого результата умножения. Чтобы полностью избежать переполнения, входные сигналы должны быть уменьшены. Уменьшите одну из входных матриц на log2(numColsA) битов, чтобы избежать переполнения, так как общее количество добавлений numColsA вычисляется внутренне для каждого выходного элемента.

arm_status arm_mat_mult_fast_q31 ( константа arm_matrix_instance_q31 * ПСРКА ,
константа arm_matrix_instance_q31 * pSrcB ,
arm_matrix_instance_q31 *  pDst  
)

Умножение матриц Q31 (быстрый вариант) для Cortex-M3 и Cortex-M4.

Параметры
[in] pSrcA points to the first input matrix structure
[in] pSrcB points to the second input matrix structure
[out] pDst points для вывода матричной структуры
Возвращает
состояние выполнения
  • ARM_MATH_SUCCESS : Операция выполнена успешно
  • ARM_MATH_SIZE_MISMATCH: проверка размера матрицы не удалась
Масштабирование и поведение при переполнении
Разница между функцией arm_mat_mult_q31() и этим быстрым вариантом заключается в том, что быстрый вариант использует 32-битный, а не 64-битный аккумулятор. Результат каждого умножения 1,31 x 1,31 усекается до формата 2,30. Эти промежуточные результаты накапливаются в 32-битном регистре в формате 2.30. Наконец, аккумулятор насыщается и преобразуется в результат 1,31.
Быстрая версия имеет то же поведение при переполнении, что и стандартная версия, но обеспечивает меньшую точность, поскольку отбрасывает младшие 32 бита каждого результата умножения. Чтобы полностью избежать переполнения, входные сигналы должны быть уменьшены. Уменьшите одну из входных матриц на log2(numColsA) битов, чтобы избежать переполнения, так как общее количество добавлений numColsA вычисляется внутренне для каждого выходного элемента.

arm_status arm_mat_mult_opt_q31 ( константа arm_matrix_instance_q31 * ПСРКА ,
константа arm_matrix_instance_q31 * pSrcB ,
arm_matrix_instance_q31 *  пдст ,
q31_t * pState  
)

Параметры
3 90]0123
[in] pSrcA указывает на первую структуру входной матрицы
[in] pSrcB указывает на вторую структуру входной матрицы
pDst указывает на структуру выходной матрицы
[in] pState указывает на массив для хранения промежуточных результатов
Возвращает
состояние выполнения
  • ARM_MATH_SUCCESS : Операция выполнена успешно
  • ARM_MATH_SIZE_MISMATCH: проверка размера матрицы не удалась
Масштабирование и поведение при переполнении
Функция реализована с использованием внутреннего 64-битного аккумулятора. Аккумулятор имеет формат 2.62 и поддерживает полную точность промежуточных результатов умножения, но предоставляет только один защитный бит. На промежуточных добавках насыщения нет. Таким образом, если аккумулятор переполняется, он закручивается и искажает результат. Входные сигналы должны быть уменьшены, чтобы избежать промежуточных переполнений. Таким образом, входные данные уменьшаются на log2(numColsA) битов, чтобы избежать переполнения, так как общее количество сложений numColsA выполняется внутри. Аккумулятор 2,62 сдвигается вправо на 31 бит и насыщается до формата 1,31, чтобы получить окончательный результат.

arm_status arm_mat_mult_q15 ( константа arm_matrix_instance_q15 * ПСРКА ,
константа arm_matrix_instance_q15 * pSrcB ,
arm_matrix_instance_q15 *  пдст ,
q15_t * pState  
)

Параметры
[in] pSrcA указывает на первую структуру входной матрицы
[in] pSrcB указывает на вторую структуру входной матрицы
[out] pDst указывает на структуру выходной матрицы
[in] pState pState указывает на массив для хранения промежуточных результатов
Возвращает
состояние выполнения
  • ARM_MATH_SUCCESS : Операция выполнена успешно
  • ARM_MATH_SIZE_MISMATCH: проверка размера матрицы не удалась
Масштабирование и поведение при переполнении
Функция реализована с использованием внутреннего 64-битного аккумулятора. Входные данные для умножения имеют формат 1,15, а умножения дают результат 2,30. Промежуточные результаты 2.30 накапливаются в 64-битном аккумуляторе в формате 34.30. Этот подход обеспечивает 33 защитных бита и исключает риск переполнения. Затем результат 34,30 усекается до формата 34,15 путем отбрасывания младших 15 бит, а затем насыщается до формата 1,15.
Обратитесь к arm_mat_mult_fast_q15() за более быстрой, но менее точной версией этой функции.

arm_status arm_mat_mult_q31 ( константа arm_matrix_instance_q31 * ПСРКА ,
константа arm_matrix_instance_q31 * pSrcB ,
arm_matrix_instance_q31 *  pDst  
)

Параметры
[in] pSrcA points to the first input matrix structure
[in] pSrcB points to the second input matrix structure
[out] pDst points для вывода матричной структуры
Возвращает
состояние выполнения
  • ARM_MATH_SUCCESS : Операция выполнена успешно
  • ARM_MATH_SIZE_MISMATCH: проверка размера матрицы не удалась
Масштабирование и поведение при переполнении
Функция реализована с использованием внутреннего 64-битного аккумулятора. Аккумулятор имеет формат 2.62 и поддерживает полную точность промежуточных результатов умножения, но предоставляет только один защитный бит. На промежуточных добавках насыщения нет. Таким образом, если аккумулятор переполняется, он закручивается и искажает результат. Входные сигналы должны быть уменьшены, чтобы избежать промежуточных переполнений. Таким образом, входные данные уменьшаются на log2(numColsA) битов, чтобы избежать переполнения, так как общее количество сложений numColsA выполняется внутри. Аккумулятор 2,62 сдвигается вправо на 31 бит и насыщается до формата 1,31, чтобы получить окончательный результат.

arm_status arm_mat_mult_q7 ( константа arm_matrix_instance_q7 *  ПСРКА ,
константа arm_matrix_instance_q7 *  pSrcB ,
arm_matrix_instance_q7 *  пдст ,
q7_t * pState  
)

Параметры
[in] *pSrcA указывает на первую структуру входной матрицы
[in] *pSrcB указывает на вторую структуру входной матрицы
[OUT] *PDST Структура выходной матрицы
[в] *PSTATE точки к Array для придерживающихся результатов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2015 - 2019 Муниципальное казённое общеобразовательное учреждение «Таловская средняя школа»

Карта сайта