![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Решение уравнений средствами Excel |
Содержание: 2.1. Циклические ссылки 2.2. Подбор параметра 2.3. Поиск решения 2.1. Циклические ссылки Если в ячейку Excel введена формула, содержащая ссылку на эту же самую ячейку (может быть и не напрямую, а опосредованно - через цепочку других ссылок), то говорят, что имеет место циклическая ссылка (цикл). На практике к циклическим ссылкам прибегают, когда речь идет о реализации итерационного процесса, вычислениях по рекуррентным соотношениям. В обычном режиме Excel обнаруживает цикл и выдает сообщение о возникшей ситуации, требуя ее устранения. Excel не может провести вычисления, так как циклические ссылки порождают бесконечное количество вычислений. Есть два выхода из этой ситуации: устранить циклические ссылки или допустить вычисления по формулам с циклическими ссылками (в последнем случае число повторений цикла должно быть конечным). Рассмотрим задачу нахождения корня уравнения методом Ньютона с использованием циклических ссылок. Возьмем для примера квадратное уравнение: х2 - 5х 6=0, графическое представление которого приведено на рис. 8. Найти корень этого (и любого другого) уравнения можно, используя всего одну ячейку Excel. Для включения режима циклических вычислений в меню Сервис/Параметры/вкладка Вычисления включаем флажок Итерации, при необходимости изменяем число повторений цикла в поле Предельное число итераций и точность вычислений в поле Относительная погрешность (по умолчанию их значения равны 100 и 0,0001 соответственно). Кроме этих установок выбираем вариант ведения вычислений: автоматически или вручную. При автоматическом вычислении Excel выдает сразу конечный результат, при вычислениях, производимых вручную, можно наблюдать результат каждой итерации. Рис. 8. График функции Выберем произвольную ячейку, присвоим ей новое имя, скажем, Х, и введем в нее рекуррентную формулу, задающую вычисления по методу Ньютона: , где F и F1 задают соответственно выражения для вычисления значений функции и ее производной. Для нашего квадратного уравнения после ввода формулы в ячейке появится значение 2, соответствующее одному из корней уравнения (рис. 8). В нашем случае начальное приближение не задавалось, итерационный вычислительный процесс начинался со значения, по умолчанию хранимого в ячейке Х и равного нулю. А как получить второй корень? Обычно это можно сделать изменением начального приближения. Решать проблему задания начальных установок в каждом случае можно по-разному. Мы продемонстрируем один прием, основанный на использовании функции ЕСЛИ. С целью повышения наглядности вычислений ячейкам были присвоены содержательные имена (рис. 9). В ячейку Хнач (В4) заносим начальное приближение - 5. В ячейку Хтекущ (С4) записываем формулу: =ЕСЛИ(Хтекущ=0;Хнач; Хтекущ-(Хтекущ^2-5 Хтекущ 6)/(2 Хтекущ-5)). В ячейку D4 помещаем формулу, задающую вычисление значения функции в точке Хтекущ, что позволит следить за процессом решения. Заметьте, что на первом шаге вычислений в ячейку Хтекущ будет помещено начальное значение, а затем уже начнется счет по формуле на последующих шагах. Чтобы сменить начальное приближение, недостаточно изменить содержимое ячейки Хнач и запустить процесс вычислений.
В этом случае вычисления будут продолжены, начиная с последнего вычисленного Рис. 9. Определение начальных установок значения. Чтобы обнулить значение, хранящееся в ячейке Хтекущ, нужно заново записать туда формулу. Для этого достаточно для редактирования выбрать ячейку, содержащую формулу, дважды щелкнув мышью на ней (при этом содержимое ячейки отобразится в строке формул). Щелчок по кнопке (нажатие клавиши) E er запустит вычисления с новым начальным приближением. 2.2. Подбор параметра Когда желаемый результат вычислений по формуле известен, но неизвестны значения, необходимые для получения этого результата, можно воспользоваться средством Подбор параметра, выбрав команду Подбор параметра в меню Сервис. При подборе параметра Excel изменяет значение в одной конкретной ячейке до тех пор, пока вычисления по формуле, ссылающейся на эту ячейку, не дадут нужного результата. Возьмем в качестве примера все то же квадратное уравнение х2-5х 6=0. Для нахождения корней уравнения выполним следующие действия: В ячейку С3 (рис. 10) введем формулу для вычисления значения функции, стоящей в уравнении слева от знака равенства. В качестве аргумента используем ссылку на ячейку С2, т.е. =С2^2-5 C2 6. Рис. 10. Окно диалога Подбор параметра В окне диалога Подбор параметра (рис. 10) в поле Установить в ячейке введем ссылку на ячейку с формулой, в поле Значение - ожидаемый результат, в поле Изменяя значения ячейки - ссылку на ячейку, в которой будет храниться значение подбираемого параметра (содержимое этой ячейки не может быть формулой). После нажатия на кнопку Ok Excel выведет окно диалога Результат подбора параметра. Если подобранное значение необходимо сохранить, то нажмите на Оk, и результат будет сохранен в ячейке, заданной ранее в поле Изменяя значения ячейки. Для восстановления значения, которое было в ячейке С2 до использования команды Подбор параметра, нажмите кнопку Отмена. При подборе параметра Excel использует итерационный (циклический) процесс. Количество итераций и точность устанавливаются в меню Сервис/Параметры/вкладка Вычисления. Если Excel выполняет сложную задачу подбора параметра, можно нажать кнопку Пауза в окне диалога Результат подбора параметра и прервать вычисление, а затем нажать кнопку Шаг, чтобы выполнить очередную итерацию и просмотреть результат. При решении задачи в пошаговом режиме появляется кнопка Продолжить - для возврата в обычный режим подбора параметра. Вернемся к примеру. Опять возникает вопрос: как получить второй корень? Как и в предыдущем случае необходимо задать начальное приближение. Это можно сделать следующим образом (рис. 11,а): а б Рис. 11. Поиск второго корня В ячейку Х (С2) вводим начальное приближение. В ячейку Хi (С3) вводим формулу для вычисления очередного приближения к корню, т.е. =X-(X^2-5 X 6)/(2 X-5). В ячейку С4 поместим формулу, задающую вычисление значения функции, стоящей в левой части исходного уравнения, в точке Хi. После этого выбираем команду Подбор параметра, где в качестве изменяемой ячейки принимаем ячейку С2. Результат вычислений изображен на рис. 11,б (в ячейке С2 - конечное значение, а в ячейке С3 - предыдущее).
Однако все это можно сделать и несколько проще. Для того чтобы найти второй корень, достаточно в качестве начального приближения (рис. 10) в ячейку C2 поместить константу 5 и после этого запустить процесс Подбор параметра. 2.3. Поиск решения Команда Подбор параметра является удобной для решения задач поиска определенного целевого значения, зависящего от одного неизвестного параметра. Для более сложных задач следует использовать команду Поиск решения (Решатель), доступ к которой реализован через пункт меню Сервис/Поиск решения. Задачи, которые можно решать с помощью Поиска решения, в общей постановке формулируются так: Найти: х1, х2, , х такие, что: F(х1, х2, , х ) &g ; {Max; Mi ; = Value} при ограничениях: G(х1, х2, , х ) &g ; { Value; Value; = Value} Искомые переменные - ячейки рабочего листа Excel - называются регулируемыми ячейками. Целевая функция F(х1, х2, , х ), называемая иногда просто целью, должна задаваться в виде формулы в ячейке рабочего листа. Эта формула может содержать функции, определенные пользователем, и должна зависеть (ссылаться) от регулируемых ячеек. В момент постановки задачи определяется, что делать с целевой функцией. Возможен выбор одного из вариантов: найти максимум целевой функции F(х1, х2, , х ); найти минимум целевой функции F(х1, х2, , х ); добиться того, чтобы целевая функция F(х1, х2, , х ) имела фиксированное значение: F(х1, х2, , х ) = a. Функции G(х1, х2, , х ) называются ограничениями. Их можно задать как в виде равенств, так и неравенств. На регулируемые ячейки можно наложить дополнительные ограничения: неотрицательности и/или целочисленности, тогда искомое решение ищется в области положительных и/или целых чисел. Под эту постановку попадает самый широкий круг задач оптимизации, в том числе решение различных уравнений и систем уравнений, задачи линейного и нелинейного программирования. Такие задачи обычно проще сформулировать, чем решать. И тогда для решения конкретной оптимизационной задачи требуется специально для нее сконструированный метод. Решатель имеет в своем арсенале мощные средства решения подобных задач: метод обобщенного градиента, симплекс-метод, метод ветвей и границ. Выше для нахождения корней квадратного уравнения был применен метод Ньютона (п. 1.4) с использованием циклических ссылок (п. 2.1) и средство Подбор параметра (п. 2.2). Рассмотрим, как воспользоваться Поиском решения на примере того же квадратного уравнения. Рис. 12. Окно диалога Поиск решения После открытия диалога Поиск решения (рис. 12) необходимо выполнить следующие действия: в поле Установить целевую ячейку ввести адрес ячейки, содержащей формулу для вычисления значений оптимизируемой функции, в нашем примере целевая ячейка - это С4, а формула в ней имеет вид: = C3^2 - 5 C3 6; для максимизации значения целевой ячейки, установить переключатель максимальному значению в положение , для минимизации используется переключатель минимальному значению, в нашем случае устанавливаем переключатель в положение значению и вводим значение 0; в поле Изменяя ячейки ввести адреса изменяемых ячеек, т.е
Методы решения систем линейных уравнений средствами пакета LinearAlgebra Конечной целью большинства матричных операций является решение систем линейных уравнений. Для этого пакет LinearAlgebra предлагает ряд методов и средств их реализации. Основными методами решения являются следующие: • обращением матрицы коэффициентов уравнений и решением вида Х=А-1*В; • применением метода LU-декомпозиции (method='LU'); • применением метода QR-декомпозиции (method='QР'); • применением метода декомпозиция Холесского (method='Cholesky'); • метод обратной подстановки (method='subs'). Решение с применением обращения матрицы коэффициентов левой части системы уравнений А уже не раз рассматривалось и вполне очевидно. В связи с этим отметим особенности решения систем линейных уравнений другими методами. Любопытно отметить, что указание метода может быть сделано и без его заключения в одинарные кавычки. 6.3.4. Решение системы линейных уравнений методом LU-декомпозиции Зададим матрицу А левой части системы уравнений и вектор свободных членов В: > restart; with(LinearAlgebra): UseHardwareFloats := false: > A:=<<4|.24|-.08>,<.09|3|-.15>,<.041-.08|4>>; B:=<8, 9, 20>; Прямое решение этим методом выполняется одной из двух команд, отличающихся формой записи: > х := LinearSolve(А, В, method= 'LU'); х := LinearSolve(<А|B>, method='LU'); Проверим решение данной системы уравнений: > А.х-В; В данном случае решение точно (в пределах точности вычислений по умолчанию)
1. Решение уравнений, систем уравнений, неравенств графически
2. Графическое решение уравнений, неравенств, систем с параметром
3. Краткие сведения о электронных таблицах. Решение уравнения
4. Алгебраическое и графическое решение уравнений, содержащих модуль
5. Методы решения уравнений в странах древнего мира
9. Применение графиков в решении уравнений
10. Методы решения уравнений, содержащих параметр
12. Графическое решение уравнений
13. Решение уравнений в конечных разностях
14. Формулы, возможно неизвестные, для решений уравнения Пифагора
16. Системы принятия решений, оптимизация в Excel и базы данных Access
17. Решение математических задач средствами Excel
18. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка
19. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЯТИТОЧЕЧНЫМ МЕТОДОМ АДАМСА – БАШФОРТА
21. Итерационные методы решения систем линейных уравнений с неединственными коэффициентами
25. Решение систем линейных дифференциальных уравнений пятиточечным методом Адамса – Башфорта
26. Разработка программы для решения систем линейных уравнений
27. Решение систем нелинейных алгебраических уравнений методом Ньютона
29. Дифференциальные уравнения и описание непрерывных систем
30. Итерационные методы решения систем линейных алгебраических уравнений
31. Решение произвольных систем линейных уравнений
32. Методы решения систем линейных уравнений
33. Прямые методы решения систем линейных алгебраических уравнений
34. Метод Гаусса для решения систем линейных уравнений
35. Получение уравнения переходного процесса по передаточной функции
36. Финансовый контроль и планирование с помощью Excel
37. "Семейный бюджет" (расчет с помощью программы Microsoft Excel 97)
41. Синтез оптимальных уравнений
43. Уравнение Кортевега - де Фриса, солитон, уединенная волна
45. Приближённые методы решения алгебраического уравнения
46. Решение дифференциальных уравнений 1 порядка методом Эйлера
47. Определение точного коэффициента электропроводности из точного решения кинетического уравнения
48. Кинетическое уравнение Больцмана
49. Система уравнений Максвелла в сплошной среде. Граничные условия
50. Вывод уравнения Шрёдингера
52. Системы линейных уравнений
53. Роль теории дифференциальных уравнений в современной математике и ее приложениях
57. Вычисление корней нелинейного уравнения
58. Дифференциальные уравнения с разрывной правой частью
59. Механические колебания в дифференциальных уравнениях
60. Первая краевая задача для уравнения теплопроводности в нецилиндрической неограниченной области
61. Приближённые методы решения алгебраического уравнения
62. Решение задачи Дирихле для уравнения Лапласа методом сеток
63. Решения смешанной задачи для уравнения гиперболического типа методом сеток
64. Уравнения математической физики
65. Численное решение модельного уравнения диссипации, конвекции и кинетики
66. Новое уравнение теплопроводности
67. Задача на собственные значения для вырождающегося уравнения смешанного типа
68. Нестандартные методы решения тригонометрических уравнений: графический и функциональный
69. Линейные уравнения и неравенства
73. Внутренний PR способен решить коммуникативные проблемы в компании
74. Определение скорости точки по заданным уравнениям ее движения
75. Система уравнений Максвелла в сплошной среде. Граничные условия
76. Капиталы решили остаться в России
77. Уравнение прибыли с одним неизвестным
78. Составление уравнений окислительно-восстановительных реакций
79. Анализ медико-биологических данных с помощью Microsoft Excel и СПП STADIA 6.2
80. Решение системы нелинейных уравнений
81. Линейные диофантовы уравнения
82. Приближенное вычисление корней в уравнения
83. Приближённое решение алгебраических и трансцендентных уравнений
84. Метод касательных решения нелинейных уравнений
89. Метод касательных. Решения нелинейных уравнений. Паскаль 7.0
93. Уравнение постоянного поля ионных токов
94. Итерационные методы решения нелинейных уравнений
95. Нахождение корней уравнений различными методами
96. Нахождение корней уравнения методом простой итерации (ЛИСП-реализация)
97. Поиск решений системы линейных уравнений методом Гаусса
98. Проект программного модуля для нахождения корня уравнения
99. Разработка программного обеспечения для нахождения корней биквадратного уравнения
100. Разработка программы решения системы линейных уравнений