русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Решение систем линейных уравнений


Дата добавления: 2015-06-12; просмотров: 632; Нарушение авторских прав


 

MATLAB позволяет работать с объектами линейной алгебры, т. е. векторами и матрицами, настолько просто, насколько это вообще возможно.

Яркий пример этому – решение систем линейных уравнений.

Пример:

Пусть дана система линейных уравнений

 

 

Решить систему с применением оператора обратного деления матриц < \ >.

Решение:

В матричной записи система имеет вид Ах = b, где

 

A = , b = , х =

 

– соответственно матрица из коэффициентов при незвестных, вектор-столбец из свободных членов и вектор-столбец из неизвестных.

Введем матрицу А и вектор-столбец свободных членов b:

>> А=[1 3 0;-2 -2 5;1 0 -5]

А =

1 3 0

-2 -2 5

1 0 -5

>> b=[-2;10;-9]

b =

-2

-9

Известно, что система имеет единственное решение, если определитель матрицы А не равен нулю (│A= det(A) ≠ 0). Вычислим определитель матрицы А:

>> disp(det(A))

-5

Определитель не равен нулю. Находим решение системы с помощью оператора обратного деления матриц < \ >:

>> x=А\b

x =

-1

Проверим полученное решение x1 = 1, x2 = -1, x3 = 2 подстановкой в систему уравнений:

>> disp(A*x)

-2.0000

10.0000

-9.0000

В результате проверки получен вектор-столбец свободных членов. Значит, система решена верно.

Найдем теперь решение системы х = A-1b с помощью обратной матрицы. Вначале вычислим обратную матрицу A-1:

>> A1=inv(A)

A1 =

-2.0000 -3.0000 -3.0000

1.0000 1.0000 1.0000

-0.4000 -0.6000 -0.8000

Находим решение системы:

>> A1*b

ans =

1.0000

-1.0000

2.0000

Отметим, что решение системы с помощью обратной матрицы требует больше времени и памяти, к тому же этот способ может дать большую погрешность решения. Поэтому для решения линейных систем рекомендуется применять оператор обратного деления < \ >.



Пример:

Решить систему линейных уравнений

 

 

Решение:

>> A=[1 3 0;-2 -2 5;1 0 5]

A =

1 3 0

-2 -2 5

1 0 5

>> b=[-2 10 -9]

b =

-2 10 -9

>> disp(det(A))

Находим решение системы:

>> x=A\b'

x =

-7.5714

1.8571

-0.2857

Заметим, что обратное деление произведено на вектор-столбец b', поскольку вектор b введен как вектор-строка. Получили приближенное решение системы. Вычислим обратную матрицу A-1:

>> disp(inv(A))

-0.2857 -0.4286 0.4286

0.4286 0.1429 -0.1429

0.0571 0.0857 0.1143

Точное решение системы и точная обратная матрица выражаются через рациональные дроби:

>> format rat

>> x=A\b'

x =

-53/7

13/7

-2/7

>> disp(inv(A))

-2/7 -3/7 3/7

3/7 1/7 -1/7

2/35 3/35 4/35

 

Вопросы для самопроверки

1. Какие окна имеет интерфейс MATLAB и каково их назначение?

2. Какова структура командного окна Command Window?

3. Как называется отображение в командном окне сеанса работы с системой? На какие зоны подразделяется текстовое поле окна Command Window?

4. Для чего служат в MATLAB клавиши <↑> и <↓>?

5. Для чего применяется команда disp?

6. Как можно ввести слишком длинную команду в окне Command Window?

7. Какая информация сохраняется в окнах Command History и Workspase после применения команды очистки экрана clc?

8. Как получить справку по выбранной команде MATLAB?

9. В каких форматах представляются в MATLAB вещественные числа?

10. Какие форматы отображения вещественных чисел используются в MATLAB?

11. Как в в MATLAB осуществляются операции с комплексными числами?

12. В чем измеряются аргументы встроенных тригонометрических функций?

13. Какая команда осуществляет векторизацию символьного выражения?

14. Как MATLAB реагирует на ошибки ввода?

15. Как обнаружить и устранить семантическую ошибку ввода?

16. Как в MATLAB создаются векторы и матрицы?

17. Как осуществляется просмотр и редактирование переменных в окне Workspase?

18. Как в MATLAB осуществляются матричные и поэлементные операции над векторами и матрицами?

19. Что вычисляют команды dot и cross?

20. Как решается система линейных уравнений с помощью оператора обратного деления < \ >?

 

 



<== предыдущая лекция | следующая лекция ==>
Матричные и поэлементные операции над векторами и матрицами | Создание векторов и матриц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.034 сек.