Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Решение систем обыкновенных уравнений в инженерных программных пакетах на примере Matlab

Определение 1

Matlab — это язык программирования высокого уровня и интерактивная среда, предназначенная для инженерных расчетов, визуализации и программирования

Введение

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

  1. Реализация простых вычислений по уже существующим выражениям.
  2. Реализация поиска решений нелинейных систем и уравнений.
  3. Реализация поиска решений задач линейной алгебры.
  4. Реализация поиска решений проблем оптимальности.
  5. Осуществление вычислений дифференциальных и интегральных выражений.
  6. Осуществление обработки данных экспериментов.
  7. Реализация поиска решений обыкновенных дифференциальных уравнений и систем обыкновенных уравнений.
  8. Создание моделей дискретных и непрерывных систем.

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

Решение систем обыкновенных уравнений

Решение систем линейных уравнений может быть отнесено к наиболее массовой сфере использования матричных методов. В системе MATLAB используются указанные методы и некоторые дополнительные функции для решения систем линейных уравнений. Общеизвестно, что обыкновенная система линейных уравнений может быть представлена в следующем виде:

$а_{11} X_{1}, а_{12} X_{2}. ..., а_{1n} X_n = b_1$

Здесь:

  • $а_{11}, ..., а_{пп}$ являются коэффициентами, образующими матрицу $А$, которые могут иметь как действительные, так и комплексные значения.
  • $x_1 , х_2 ,..., х_п$ являются неизвестными, образующими вектор $X$.
  • $b_1 , b_2 ,..., b_п$ являются свободными членами (действительными или комплексными), образующими вектор $В$.

Такую систему можно представить в матричном виде как:

АХ=В.

Здесь:

  • А является матрицей коэффициентов уравнений.
  • X является искомым вектором неизвестных.
  • В является вектором свободных членов.
«Решение систем обыкновенных уравнений в инженерных программных пакетах на примере Matlab» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

В зависимости от того, какого вида матрица А и ее основных особенностей, Matlab позволяет осуществить разные методики решения. Для реализации разных алгоритмов решения системы линейных уравнений и связанных с ними матричных операций используются следующий набор операторов:

+, -, $*$, /, \, ' .

Как уже указывалось выше, Matlab обладает двумя различными типами арифметических операций, а именно:

  1. Поэлементные арифметические операции.
  2. Арифметические операции для массивов (векторов и матриц) в целом.

Матричные арифметические операции реализуются согласно правилам линейной алгебры. Арифметические операции сложения и вычитания над массивами должны выполняться поэлементно. Знак точки «.» обозначает отличие операции над элементами массивов от операций с матрицами. Но, так как действия сложения и вычитания аналогичны для матриц и элементов массива, знаки «.+» и «.-» в этих случаях не применяются.

Для выполнения других операций используются следующие обозначения:

Значок * — обозначает реализацию матричного умножения.

С = А*В — обозначает выполнение линейного алгебраического произведения матриц А и В.

Для варианта не скалярных А и В количество столбцов матрицы А обязано быть равным количеству строк матрицы В. Скалярные величины могут быть умножены на матрицу любого размера.

/ — обозначает операцию правого деления.

Запись выражения Х=В/А позволяет выполнить решение ряда систем линейных уравнений АХ=В.

Здесь:

  • А является матрицей с размером тхп.
  • В является матрицей с размером nxk.

\ — обозначает операцию левого деления.

Запись выражения Х=В\А позволяет выполнить решение ряда систем линейных уравнений ХА=В.

Здесь:

  • А является матрицей с размером тхп.
  • В является матрицей с размером nxk.

В случае, когда А является квадратной матрицей, то А\В будет примерно тем же самым, что и inv(A)*B. В других случаях возможны следующие варианты:

  1. Если А является матрицей с размером пхп, а В является вектор-столбцом с п компонентами или матрицей с несколькими такими столбцами, то Х=А\В будет решением уравнения АХ=В, которое определяется при помощи метода исключения Гаусса.
  2. Если А является матрицей с размером тхп, а В является вектор-столбцом с m компонентами или матрицей с несколькими подобными столбцами, то система будет считаться не доопределенной или переопределенной и должна решаться на базе минимизации второй нормы невязок.

Ранг k матрицы А может быть найден на основе QR-разложения с выбором ведущего компонента. Найденное решение X будет обладать не более чем k ненулевых элементов на столбец. В случае, когда k∠n решение обычно не совпадает с pinv(A)*B, имеющим наименьшую норму невязок ||Х||.

Рассмотрим другие операции.

^ — обозначает операцию возведения матрицы в степень.

Х А р — обозначает X в степени р, в случае, когда р является скалярной величиной..

Если р является целым числом, то степень матрицы определяется умножением X на себя р раз. Если же р является целым отрицательным числом, то X сначала должно быть инвертировано.

' — обозначает операцию транспонирования матрицы, то есть замену строк столбцами и наоборот.

К примеру, А' — это транспонированная матрица А. Для комплексных матриц транспонирование должно быть дополнено комплексным сопряжением.

Транспонирование при решении системы линейных уравнений удобно, когда в матрице А переставлены местами столбцы и строки. При записи системы линейных уравнений в матричной форме следует отслеживать правильность записи матрицы А и вектора В. Приведём пример (в виде m-файла):

Пример в виде m-файла. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Пример в виде m-файла. Автор24 — интернет-биржа студенческих работ

Данная программа может выдать итоговые результаты решения тремя методами:

X1 =

3.0000 -4.0000-1.00001.0000

Х2 =

3.0000 -4.0000-1.00001.0000

X3 =

3.0000 -4.0000-1.00001.0000

Естественно, итоговые результаты решения получились одинаковыми для всех трех методов. При решении систем линейных уравнений, в частности с разреженной матрицей коэффициентов, удобно использовать функции colmmd (colamd), symmmd (symamd).

Дата написания статьи: 29.09.2021
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot