 |  |
 |  | |  | |
Георгий Кузнецов дата публикации 18-04-2006 07:16 Класс TMatrix — реализация основных действий над матрицами
Класс TMatrix реализует основные действия над матрицами действительных чисел. Может быть применён для решения систем уравнений в матричной форме
(A * X = B => X = A^(-1) * B), различных матричных преобразований и везде там, где производятся действия над матрицами.
- Загрузка матрицы из текстового файла (Пример файла содержится в архиве). Создание дубликата матрицы. Поэлементное создание матрицы. Быстрое создание единичной матрицы.
- Умножение матрицы на число. Сложение, вычитание матриц. Умножение матриц. Возведение матрицы в целую степень.
- Нахождение определителя матрицы.
- Нахождение минора матрицы.
- Нахождение ранга матрицы.
- Удаление (вставка) строк (столбцов). При вставке необходимо создать матрицу, которую будем вставлять.
- А также другие элементарные действия над матрицами (Транспонирование, поворот, отражение).
- Количество столбцов или строк не может быть больше 65535 (Мощность типа Word);
- Алгоритм нахождения обратной матрицы для больших порядков работает очень долго, т.к. она вычисляется по формуле
(1/Det)*[A]^T,
приходится находить все алгебраические дополнения.
В следующих версиях он будет заменён на более быстрый
[A|E] -> [E|B] => A^(-1) = B;
- Скорость вычисления ранга тоже пока оставляет желать лучшего.
Версия 0.3b - 20.04.06 01.22
[-] | Удалён из uses модуль Classes (переписан метод LoadFromFile без использования StringList), что уменьшает размер исполняемого файла; |
[-] | Небольшие изменения в функции DetMatrix; |
[-] | Переписан метод RetMatrix (тестовая матрица 100x100 обращается за 0,047с., старый метод делал это за 88 с.); |
[-] | Исправлена ошибка переполнения в методе Rank; |
[+] | Добавлен метод ApplyFunction, который даёт возможность применить какую-либо функцию одного аргумента ко всем элементам матрицы, например можно забить её псевдослучайными числами; |
[+] | Добавлен ещё один конструктор с одним параметром для создания квадратных матриц (Create(Count: Word)). |
В архиве пример вычисления обратной матрицы.
Версия 0.2b - 18.04.06 14.20
- Удалены из uses модули Dialogs и Math (они использовались при отладке), что непременно уменьшило размер исполняемого файла.
К материалу прилагаются файлы:
[Матричное исчисление]
Обсуждение материала [ 20-10-2016 09:13 ] 3 сообщения |
|
|  |  |  | |
 |  |
Время на сайте: GMT минус 5 часов
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
©
При использовании любых материалов «Королевства Delphi»
необходимо указывать источник информации.
Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются
собственностью их производителей.