MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Вычисления в конечных полях (полях Галуа)

  В оглавление \ К следующему разделу \ К предыдущему разделу

GFLINEQ
Решение системы линейных уравнений Ax = b в простом конечном поле

Внимание! Приведенное ниже описание относится к версии 2.0 пакета Communications, (MATLAB 6.1). В версии 2.1 (MATLAB 6.5) фильтрация данных, представленных в виде объектов двоичных конечных полей (в том числе расширенных), производится с помощью функции filter, а данная функция применяется только к полям GF(p), где p — простое число, большее двух.

Синтаксис:

x = gflineq(A,b);
x = gflineq(A,b,p);
[x,vld] = gflineq(...);

Описание:

  • x = gflineq(A,b)

Возвращает частное решение системы линейных уравнений A x = b в конечном поле GF(2). Если A — матрица, имеющая k строк и n столбцов, а b — вектор длины k, то решение x будет вектором длины n. Элементы массивов A, x и b могут быть равны 0 или 1. Если решения не существует, возвращаемый результат x представляет собой пустую матрицу.

  • x = gflineq(A,b,p)

Возвращает частное решение системы линейных уравнений A x = b в конечном поле GF(p), где p — простое число. Если A — матрица, имеющая k строк и n столбцов, а b — вектор длины k, то решение x будет вектором длины n. Элементы массивов A, x и b являются целыми числами, лежащими в диапазоне от 0 до p-1.

  • [x,vld] = gflineq(...)

Дополнительно возвращает флаг vld, который индицирует существование решения. Если vld = 1, то решение существует и возвращаемый результат x является корректным решением; если vld = 0, решения не существует.

Примеры:

Приведенный ниже код находит корректное решение системы линейных уравнений в поле GF(2).

A=[1 0 1;
     1 1 0;
     1 1 1];

%Пример, в котором имеется корректное решение

[x,vld] = gflineq(A,[1;0;0])
x =
     1
     1
     0
vld =
     1

В следующем случае система линейных уравнений не имеет решений.

[x2,vld2] = gflineq(zeros(3,3),[1;0;0])

This linear equation has no solution.

x2 =
     []
vld2 =
     0

Алгоритм:

Функция gflineq использует гауссово исключение переменных.

Сопутствующие функции: gfadd, gfdiv, gfroots, gfdeconv, gfconv

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика