Svinkovod.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Комбинированный метод хорд и касательных

Комбинированный метод хорд и касательных

Комбинированный метод, сочетающий метод хорд и метод касательных, является наиболее эффективным по числу итераций, необходимых для достижения заданной точности. На каждой итерации, начиная с первой, находим x по методу хорд и z по методу касательных. Исходные данные для первой итерации определяются так, как это делается в каждом из составляющих методов.

Процесс нахождения приближенного корня прекращается, когда выполняется условие:

Приближенное значение корня вычисляют по формуле:

Реализация метода в MS Excel

Порядок заполнения клеток листа:

A1:F9 — метод хорд

A1:F9– метод касательных

Вид листа MS Excel:

Графическая интерпретация выполненных действий приведена на рисунке:

Реализация метода в MS Excel с использованием функции Поиск решения

Порядок заполнения клеток листа:

Вид листа MS Excel:

Переходим на страницу «Данные». Активизируем команду «Поиск решения».

После открытия диалогового окна «Поиск решения» устанавливаем значения параметров:

Выполняем щелчок по кнопке Выполнить. Открывается диалоговое окно «Результаты поиска решения»:

Щелкаем по кнопке ОК.

Вид листа MS Excel

Решение получено. Окончательно имеем х=0,8980, f(x)=-0,0000001.

Реализация решения задачи в MatLab

Для решения данной задачи можно использовать функции:

fzero– значение действительного корня уравнения;

roots – значения действительных и комплексных корней многочлена.

Решим уравнение e cos 2 ( x ) -3·sin(0,8·x)+0,5=0. Сначала введем функцию, используяinline. Затем вызовемfzero, указав в качестве начального значения 0. Для правильного выбора начального приближения целесообразно сначала построить график соответствующей функции. Для этого можно воспользоваться функциейfplot(f,[-1,3]).

Задаем функцию: >> f=inline(‘exp(cos(x)*cos(x))-3*sin(0.8*x)+0.5′,’x’).

Строим график: >> fplot(f,[-1,3]).

Вызываем функцию решения уравнения: >> x=fzero(f,0).

Результаты решения приведены на рисунке:

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

Постановка задачи

ТAutoShape 35ребуется найти решение системыnлинейных уравнений:

a11·x1 +a12·x2+…+a1n·xn=b1

a21·x1 +a22·x2+…+a2n·xn=b2

an1·x1 +an2·x2+…+ann·xn=bn

Эту систему уравнений можно записать также в матричном виде:

где A– матрица системы,– вектор правых частей,– вектор неизвестных.

При известных Aитребуется найти значенияx, при подстановке которых в систему уравнений она превращается в тождество.

Необходимым и достаточным условием существования единственного решения СЛАУ является условие det A≠0, т.е. определитель матрицыAне равен нулю. В случае равенства нулю определителя матрицаAназываетсявырожденнойи при этом СЛАУ либо не имеет решения, либо имеет их бесчисленное множество. В дальнейшем будем предполагать наличие единственного решения.

Системы линейных алгебраических уравнений можно решать как с помощью прямых, так и итерационных методов. Для систем уравнений средней размерности чаще используют прямые методы. Итерационные методы обычно применяют для решения задач большой размерности, когда использование прямых методов затруднено ограничениями по доступной оперативной памяти ЭВМ и вычислительной ошибкой, которая накапливается при большом количестве арифметических операций. Вычислительная ошибка возникает из-за ограничений разрядной сетки компьютера при представлении вещественных чисел. Большие системы уравнений, возникающие в основном в приложениях, как правило, являются разреженными. Прямые методы исключения для систем с разреженными матрицами неудобны, например, тем, что при их использовании большое число нулевых элементов превращается в ненулевые и матрица теряет свойство разреженности. В противоположность им при использовании итерационных методов в ходе итерационного процесса матрица не меняется, и она, естественно, остается разреженной.

Часто для решения линейных задач алгебры используют приближенные методы, позволяющие найти корни системы с заданной точностью. Эти методы представляют собой сходящийся итерационный процесс. Они не дают точного решения задачи, однако отличаются несколько большим быстродействием.

Решение нелинейных уравнений методом хорд в MS Excel

Тема урока: «Решение нелинейных уравнений в MS Excel».

Читайте так же:
Как в биосе переключить звуковую карту

Цель урока: изучение возможностей MS Excel по решению нелинейных уравнений и практическое освоение соответствующих умений и навыков.

Тип урока: комбинированный – урок изучения нового материала и практического закрепления полученных знаний, умений и навыков.

Вид урока: сдвоенный, продолжительность – 1,5 часа.

  • обучающая – научить учащихся решать нелинейные уравнения в среде электронных таблиц MS Excel;
  • развивающая – познакомить учащихся с применением компьютеров в качестве помощников при решении уравнений;
  • воспитательная – выработать у учащихся умение рационально использовать время и возможности компьютерных технологий при решении задач.
  • Компьютеры с OS MS Windows;
  • Программа Microsoft Excel;
  • Программа Turbo Pascal;
  • Презентация по теме, выполненная в программе Power Point;
  • Карточки с заданиями для самостоятельной работы.

В данном уроке особое внимание уделено визуальному представлению информации – в ходе урока с помощью проектора демонстрируются слайды, подготовленные в пакете презентационной графики Microsoft Power Point.

I. Организационный момент

Учитель объявляет тему и цели урока.

II. Актуализация знаний, умений и навыков учащихся – повторение материала прошлого урока по теме «Решение нелинейных уравнений методом половинного деления»

Учащиеся повторяют указанный метод с помощью слайдов, подготовленных в пакете презентационной графики Microsoft Power Point метод половинного деления

  • Всегда ли существуют формулы для «точного» решения уравнений?
  • Сформулируйте основное условие существования корня на заданном отрезке.
  • Запишите уравнение, позволяющее определить координаты середины отрезка.
  • Почему алгоритм решения этой задачи можно назвать циклическим?
  • Какое действие в алгоритме повторяется?
  • Определите условие, при котором действие алгоритма должно остановиться.

III. Изобразите блок-схему алгоритма. блок-схема

IV. Практическое задание с использованием программы на языке Turbo Pascal (Учащимся разрешено использовать программу, составленную на предыдущем уроке. Было решено уравнение y = x 3 – cos(x)) метод половинного деления TP

Задания для учащихся первой группы

Найти решение уравнения y = x 3 – cos(x) на отрезке [–1;1], при = 0,0001

Задания для учащихся второй группы

Найти решение уравнения y = x 3 – cos(x) на отрезке [–1;1], определить на каком шаге циклического алгоритма будет получено решение.

V. Изучение нового материала «Решение нелинейных уравнений методом хорд»

VI. Объяснить алгоритм решения уравнения f(x)=0 на отрезке [а;в] методом хорд с помощью слайдов, подготовленных в пакете презентационной графики Microsoft Power Point. метод хорд

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

Вычислить наименьший положительный корень заданного уравнения с точностью e=10 -3 . Работу провести в три этапа:

1) Провести графическое отделение корней уравнения.

2) Сузить отрезок, полученный графическим способом до отрезка длиной 0.1.

3) Вычислить приближенное решение методом половинного деления.

По итогам выполнения заданий представить корень уравнения, вычисленный с указанной точностью.

Номер варианта соответствует порядковому номеру в списке.

Найти решение уравнения с точностью , используя метод простой итерации и один из методов Ньютона.

Номер варианта соответствует порядковому номеру в списке.

Исполнение: Освоить реализацию итерационных процессов с использованием логических функций в MS Excel.

Лабораторная установка: Персональный компьютер с ОС Windows, MS Office.

Оценка: Использование инструментальных пакетов для решения трансцендентных уравнений.

Краткая теория метода половинного деления

Многие проблемы физики, механики, техники и других областей приводят к задаче нахождения корней нелинейного уравнения с одной переменной. В общем случае нелинейное уравнение можно записать в виде

где функция определена и непрерывна на конечном или бесконечном интервале . Примерами трансцендентных уравнений являются уравнения

Определение 1. Число , такое, что называется корнем уравнения (1).

Для подавляющего числа нелинейных уравнений вида (1) невозможно (или очень сложно) решить задачу нахождения корней уравнения аналитическими методами. Поэтому на практике такие уравнения решаются численными методами, вместо точного решения вычисляется приближенное решение.

Читайте так же:
Как в ворде писать сбоку от картинки

Определение 2. Число , такое, что называется приближенным решением уравнения (1), найденным с точностью e>0.

Задача численного нахождения приближенных корней состоит из двух этапов: отделение корней, то есть нахождение достаточно малого интервала , в котором содержится один корень уравнения (1), и уточнение корня, т.е. вычисление приближенного решения с необходимой точностью.

Графическое отделение корней.

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

Уточнение корня методом половинного деления.

Основная идея нахождения приближенного решения заключается в сокращении первоначального интервала, определенного при графическом отделении, до интервала длиной 2e. После того, как удалось сократить интервал до заданной величины, можно определить . В этом случае условие выполнено.

В методе половинного деления сокращение интервала происходит делением отрезка пополам и выбора той из половин, которой принадлежит искомый корень уравнения.

Итак, алгоритм численного решения уравнения (1) методом половинного деления заключается в выполнении следующих шагов:

1. определить начальный отрезок ;

2. найти точку с – середину отрезка , ;

3. проверить, какому из отрезков или принадлежит корень. Легко видеть, что проверка выполняется так:

если , то корень принадлежит отрезка и в дальнейшем надо положить , в противном случае корень принадлежит отрезку и следует положить ;

4. если длина отрезка больше 2e, то перейти к пункту 2;

5. закончить вычисления, положив .

Теория электронных таблиц

Для реализации данного алгоритма необходимо воспользоваться логическими функциями. Логические функции предназначены для проверки выполнения условия или для проверки нескольких условий. В отличие от математических функций, при проведении вычислений с логическими функциями мы оперируем понятиями ИСТИНА и ЛОЖЬ.

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

ЕСЛИ(логическое выражение; значение1; значение2)

логическое выражение – это выражение, принимающее значения ИСТИНА или ЛОЖЬ. Например, С15=1 – это логическое выражение. Если значение в ячейке С15 равно 1, то выражение принимает значение ИСТИНА, иначе – ЛОЖЬ.

Значение1 – это значение, которое заносится в ячейку, если логическое выражение равно ИСТИНА; значение2 – это значение, которое заносится в ячейку, если логическое выражение равно ЛОЖЬ.

До 7 функций ЕСЛИ могут быть вложены друг в друга в качестве значений аргументов значение1 и значение2 для конструирования более сложных проверок. Если любой из аргументов функции ЕСЛИ является массивом, все элементы массива вычисляются при выполнении функции ЕСЛИ.

Microsoft Excel предлагает дополнительные функции, которые можно применять для анализа данных с использованием условий. Например, для вычисления числа появлений текстовой строки или числа в диапазоне ячеек используется функция СЧЁТЕСЛИ. Для вычисления суммы значений, попадающих в интервал, заданный текстовой строкой или числами, используется функция СУММАЕСЛИ.

Для записи логических выражений (условий) служат стандартные операции сравнения: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно). Если требуется записать более сложные условия, включающие в себя несколько простых условий, то приходится применять такие логические функции, как И, ИЛИ, НЕ.

И(логическое выражение1; логическое выражение2; . )

Функция И будет иметь значение ИСТИНА, если все логические выражения, перечисленные в скобках, истинны. В противном случае результатом функции И будет значение ЛОЖЬ. Всего можно указать до 30 различных условий.

ИЛИ(логическое выражение1; логическое выражение2; . )

Функция ИЛИ возвращает значение ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА и возвращает ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ.

Если логическое выражение имеет значение ЛОЖЬ, то функция НЕ возвращает значение ИСТИНА; если логическое выражение имеет значение ИСТИНА, то функция НЕ возвращает значение ЛОЖЬ.

Читайте так же:
Как в ворде вернуть стандартные настройки

Методика выполнения

1) Запустить программу Excel. Создать документ Книга1. Сохранить в отведенное место на жестком диске под оригинальным именем, например, Книга Иванова. Первая лабораторная работа выполняется на листе Лист1 вашей первой электронной книги, переименовать его в Лаб1.

2) Создать заголовок сверху по центру будущей таблицы, используя шрифты помельче, 12 пунктов, Аrial курсив и покрупнее, 14 пунктов, Times полужирный. Выделить название темы лабораторной цветом.

3) Сделать подпись Выполнил, Дата, Вариант. Дата должна показывать текущую дату в заданном полном формате. Вставить свою функцию по варианту в математической нотации как объект MS Equation. Выделить формулу цветной рамкой.

4) Завести отдельные ячейки для начала интервала аx и шага табулирования hx, ячейки D7 и D8 на рисунке 1.1. Начало интервала определить вручную. Для заполнения диапазона ячеек со значениями аргумента функции использовать абсолютные адреса этих ячеек. В ячейки C7 и C8 вставьте пояснения Начало интервала аx = и Шаг hx =.

5) В строке 10 оформить шапку таблицы: Номер точки, Значение аргумента, Значение функции, и ниже, в строке 11 сокращенно: №, х, у.

6) Заполнение таблицы.

Создание столбца номеров точек. Набрать 1 в В12. Протащить маркер заполнения формул с нажатым Ctrl до 79 в всплывающем окне для получения арифметической прогрессии с приращением 1 в диапазоне ячеек B13:B90.

Создание столбца х. В первую сверху ячейку столбца, С12 набираем ссылку на начало интервала =$D$7 (абсолютный адрес). Под ней в ячейку C13 формулу для расчета следующего значения аргумента через предыдущее =C12+$D$8 (комбинация абсолютных и относительных адресов). Протаскиваем маркер заполнения через диапазон ячеек C14:C90 для получения в нем формул расчета значений аргумента.

Создание столбца y. В ячейку D12 набираем формулу расчета функции по варианту для первой строки таблицы. Для 0-го варианта =sin(3*C12)^2-log10(C12-2) (относительный адрес х). Далее используем технику протаскивания формулы для заполнения диапазона ячеек D13:D90 со значениями функции.

7) Форматирование таблицы. Вывести 5 значащих цифр для значений х и 10 для у. Выровнять по десятичной точке. Назначить холодный цвет, например, синий, отрицательным значениям и красный положительным. Навести рамки в таблице по образцу на рисунке 1.1.

8) Посчитать значения функции для х=0.0 и х=1.0. Ответы для контроля приведены в таблице 2 Приложения.

9) Посчитать максимальное Ymax и минимальное Ymin значения функции в полученном диапазоне ячеек.

1) График функции в Excel, как и все остальные диаграммы, строится по дискретным значениям. Исходные данные для графика получены в предыдущей лабораторной Лаб1[Книга Иванова].

2)
Запускаем Мастера диаграмм. Выбираем тип диаграммы График. Во втором окне мастера указываем исходные данные для первого ряда Значения: столбец y, Подписи оси Х: столбец x, Имя: набираем с клавиатуры Грубый график. Для второго ряда Значения и Подписи по оси Х те же, Имя: Сглаженный график. Лишние ряды удалить.

3) Отформатировать график по образцу рисунка 2.1.

На грубом графике соединить точки отрезками прямых сплошными, тонкими, синего цвета, в точках синие прозрачные квадратные маркеры 5 пунктов. На глаженном графике — соединяющие точки линии сплошные, толстые, красные, сглаженные, без маркеров. Настроить порядок рядов так, чтобы тонкие синие линии были видны на фоне красных. Оформить график заголовком, Equation скопировать с листа Лаб1 на график. Подписать оси как Ось Х и Ось Y. Ось Х провести через y=0. Проредить деления шкал, в подписях делений отобразить 2-3 цифры, чтобы не загромождали график. Настроить диапазон оси Y от

Ymax своей функции. Подпись Выполнил Дата Вариант подставить в шесть надписей из соответствующих ячеек листа. Выровнять и распределить надписи инструментами панели Рисование – Действия – Выровнять, Распределить, Группировка. Убрать серую заливку фона области построения. Линии сетки оставить только горизонтальные по основным делениям оси Y, уменьшить их яркость до светло-серого цвета.

Читайте так же:
Как включить геолокацию в гугл хром

1) Работа с книгой. Перенести диаграмму на отдельный лист под именем График y(x). Для обзора точности построения ломаной и сглаженной линий отобразить график в максимальном масштабе.

2) Создать новый лист, назвать его «Корень».

3) Оформить рабочий лист, написав заголовок «Решение уравнения методом половинного деления», ниже заголовка добавить надпись «Решить уравнение <Ваше уравнение>».

4) Подготовьте лист для проведения графического отделения корней. Сделайте надпись «1. Графическое отделение корней», в ячейку A6 сделайте поясняющую надпись «a=», в ячейку A7 – надпись «b=», в ячейку A8 – «Шаг=».

5) По графику, построенному в листе Графика, определите отрезок, на котором находится наименьший положительный корень. Левую границу отрезка укажите в ячейке B6, а его правую границу – в ячейке B7. В ячейку B8 занесите формулу вычисления шага (b-a)/10.

6) Протабулируйте функцию на интервале с вычисленным шагом h. Постройте график данной функции.

7) Сделайте надпись «2. Уточнение отрезка». Подготовьте ячейки для занесения величин a, b, h (см. п.3). Запишите значения a и b, определенные с помощью графика, величину шага укажите равной 0,1.

8) Протабулируйте функцию на новом интервале с заданным шагом h=0,1.

9) Сделайте надпись «3. Метод половинного деления». Аналогично тому, как это было сделано в пп. 3 и 6, подготовьте ячейки для занесения величин a, b. По таблице значений функции определите отрезок, на котором функция меняет знак. Это и будет первоначальный отрезок для метода половинного деления. Скопируйте значения границ этого отрезка в соответствующие ячейки.

10) Ниже границ отрезка укажите заданное значение точности e, внесите поясняющую надпись «Epsilon=».

11) Оформите вычисления по методу половинного деления в виде таблицы:

№ шагаabcf(a)f(b)f(c)b-aрешение

Установите вывод 7 значащих цифр после десятичной запятой для всех значений в столбцах 2-9.

На первом шаге в ячейках столбцов 2 (значение a) и 3 (значение b) поставьте ссылки на ячейки, содержащие границы отрезка после его уточнения (п.8). В столбец 3 внесите формулу, соответствующую вычислению c=(a+b)/2, в столбцы 5, 6 и 7 запишите формулы для вычисления f(a), f(b) и f(c). В столбце 8 вычислите длину отрезка а в столбец 9 внесите формулу, реализующую условие

ЕСЛИ b-a£2e, ТО решение=с, ИНАЧЕ решение=” ”.

На втором шаге вычислений формулы в столбцах 4-9 переносятся (“растягиваются”) из первого шага. В столбец 2 вносится формула вида

а в столбец 3 вносится аналогичная формула

Здесь вместо f(a), f(c), a, b, c указываются ссылки на соответствующие ячейки.

Дальнейшие шаги выполняются так же, как второй шаг.

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

12) Скопируйте полученное значение приближенного решения в отдельную ячейку, слева от нее введите надпись «Ответ:», установите вывод 3 значащих цифр после запятой.

Решение уравнений в EXCEL методом половинного деления, методом хорд и касательных.

Замесова Надежда Степановна

При прохождении темы численные методы учащиеся уже умеют работать с электронными таблицами и составлять программы на языке паскаль. Работа комбинированного характера.Расчитана на 40 минут. Цель работы повторить и закрепить навыки паботы с программами EXCEL, ABCPascal. Материал содержит 2 файла. Один содержит теоретический материал, так как он и предлагается ученику . Во 2-м файле пример работы ученика Иванова Ивана.

Скачать:

ВложениеРазмер
материал для ученика57.5 КБ
работа ученика27 КБ

Предварительный просмотр:

Аналитическое решение некоторых уравнений, содержащих, например тригонометрические функции может быть получено лишь для единичных частных случаев. Так, например, нет способа решить аналитически даже такое простое уравнение, как cos x=x

Численные методы позволяют найти приближенное значение корня с любой заданной точностью.

Приближённое нахождение обычно состоит из двух этапов:

1) отделение корней, т.е. установление возможно точных промежутков [a,b], в которых содержится только один корень уравнения;

2) уточнение приближённых корней, т.е. доведение их до заданной степени точности.

Мы будем рассматривать решения уравнений вида f(x)=0. Функция f(x) определена и непрерывна на отрезке [а.Ь]. Значение х 0 называется корнем уравнения если f(х 0 )=0

Для отделения корней будем исходить из следующих положений:

  • Если f(a)* f(b] a, b существует, по крайней мере, один корень
  • Если функция y = f(x) непрерывна на отрезке [a, b], и f(a)*f(b) и f '(x) на интервале (a, b) сохраняет знак, то внутри отрезка [а, b] существует единственный корень уравнения

Приближённое отделение корней можно провести и графически. Для этого уравнение (1) заменяют равносильным ему уравнением р(х) = ф(х), где функции р(х) и ф(х] более простые, чем функция f(x). Тогда, построив графики функций у = р(х) и у = ф(х), искомые корни получим, как абсциссы точек пересечения этих графиков

Для уточнения корня разделим отрезок [а, b] пополам и вычислим значение функции f(х) в точке x sr =(a+b)/2. Выбираем ту из половин [a, x sr ] или [x sr ,b], на концах которых функция f(x) имеет противоположные знаки.. Продолжаем процесс деления отрезка пополам и проводим то же рассмотрение до тех пор, пока. длина [a,b] станет меньше заданной точности . В последнем случае за приближённое значение корня можно принять любую точку отрезка [a,b] (как правило, берут его середину). Алгоритм высокоэффективен, так как на каждом витке (итерации) интервал поиска сокращается вдвое; следовательно, 10 итераций сократят его в тысячу раз. Сложности могут возникнуть с отделением корня у сложных функций.

Для приближенного определения отрезка на котором находится корень можно воспользоваться табличным процессором, построив график функции

ПРИМЕР : Определим графически корень уравнения . Пусть f1(х) = х , a и построим графики этих функций. (График). Корень находится на интервале от 1 до 2. Здесь же уточним значение корня с точностью 0,001(на доске шапка таблицы)

Алгоритм для программной реализации

  1. а:=левая граница b:= правая граница
  2. m:= (a+b)/2 середина
  3. определяем f(a) и f(m)
  4. если f(a)*f(m)
  5. если (a-b)/2>e повторяем , начиная с пункта2

Точки графика функции на концах интервала соединяются хордой. Точка пересечения хорды и оси Ох (х*) и используется в качестве пробной. Далее рассуждаем так же, как и в предыдущем методе: если f(x a ) и f(х*) одного знака на интервале , нижняя граница переносится в точку х*; в противном случае – переносим верхнюю границу. Далее проводим новую хорду и т.д.

Осталось только уточнить, как найти х*. По сути, задача сводится к следующей: через 2 точки с неизвестными координатами (х 1 , у 1 ) и (х 2 , у 2 ) проведена прямая; найти точку пересечения этой прямой и оси Ох.

Запишем уравнение прямой по двум точках:

В точке пересечения этой прямой и оси Ох у=0, а х=х*, то есть

, откуда

процесс вычисления приближённых значений продолжается до тех пор, пока для двух последовательных приближений корня х„ и х п _1 не будет выполняться условие abs(xn-x n-1 ) е — заданная точность

Сходимость метода гораздо выше предыдущего

Алгоритм различается только в пункте вычисления серединной точки- пересечения хорды с осью абсцисс и условия останова (разность между двумя соседними точками пересечения)

Уравнения для самостоятельного решения: (отрезок в excel ищем самостоятельно)

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector