Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Справочник по Matlab
  • Массивы, матрицы и операции с ними
  • Математические функции
  • Линейная алгебра
  • Анализ и обработка данных
  • Работа с разреженными матрицами
  • Графические команды и функции
  •  
    PINV
    Псевдообращение матрицы по Муру-Пенроузу

    Синтаксис:

                  P = pinv(A)
                  P = pinv(A, tol)

    Описание:

    Функция P = pinv(A) вычисляет матрицу, псевдообратную матрице A, которая имеет такие же размеры, как и матрица A’, и удовлетворяет следующим условиям [1]:

                  A * P * A = A;
                  P * A * P = P.

    Вычисление матрицы P основано на использовании функции svd(A) и приравнивании к нулю всех сингулярных чисел, меньших величины tol, которая по умолчанию принимается равной tol = max(size(A)) * norm(A) * eps.

    Функция P = pinv(A, tol) позволяет пользователю самому назначить порог tol.

    Если матрица A квадратная и невырожденная, то вычисление обратной на основе псевдообращения является слишком расточительной процедурой. Если A - квадратная и вырожденная или прямоугольная матрица, то обратной матрицы не существует; в этих случаях псевдообратная матрица обладает некоторыми, но не всеми свойствами обратной.

    Если A имеет строк больше, чем столбцов, и не является матрицей полного ранга, то возникает переопределенная задача наименьших квадратов

                   image701.gif (318 bytes)

    Вектор x минимизирует указанную норму тогда и только тогда, когда x имеет вид

                   x = pinv(A) * b + (I - pinv(A) * A) * z

    для некоторого z.

    Выберем два из бесконечного множества решений:

                   x = pinv(A) * b;
                   y = A \ b.

    Эти решения характеризуются следующими свойствами: решение x имеет норму norm(x), которая минимальна в сравнении с нормой любого другого решения; решение y имеет минимальное количество ненулевых компонентов.

    Пример:

    Рассмотрим прямоугольную матрицу, которая генерируется следующим образом:

                   A = magic(8); A = A(:, 1:6).

    Эта матрица размером 8 х 6 имеет ранг, равный 3.

    Сформируем вектор b = 260 * ones(8, 1).

    Тогда получим следующие решения

    x = pinv(A) * b

    x =

    1.1538
    1.4615
    1.3846
    1.3846
    1.4615
    1.1538

    norm(x) = 3.2817

    y = A \ b

    Warning: Rank deficient, rank = 3 tol = 1.8829e-013
    Предупреждение: Ранг неполный, rank = 3 tol = 1.8829e-013

    y =

    3.0000
    4.0000
    0
    0
    1.0000
    0

    norm(y) = 5.0990

    Вектор z, удовлетворяющий условию y = x + (I - pinv(A) * A) * z, равен

            z’ = [ 5.7517    9.6751     4.6404    5.8559    7.8906     1.5362 ]

    Сопутствующие функции: RANK, INV, SVD, QR.

    Ссылки:

    1. Алберт А. Регрессия, псевдоинверсия и рекуррентное оценивание: Пер. с англ. М.:Наука, 1977. 224 с.

    В начало страницы К предыдущему разделуК следующему разделу

    | На первую страницу | Поиск | Купить Matlab

    Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


    Copyright © 1993-2024. Компания Softline. Все права защищены.

    Дата последнего обновления информации на сайте: 04.03.17
    Сайт начал работу 01.09.00