Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Решение систем линейных уравнений
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. Как решается система линейных уравнений с помощью оператора обратного деления < \ >?
Date: 2016-08-30; view: 235; Нарушение авторских прав |