Студопедия — Задание 2. 1. Провести уточнение корней методом половинного деления
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задание 2. 1. Провести уточнение корней методом половинного деления






1. Провести уточнение корней методом половинного деления.

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

2. Сделать уточнение корней методом простой итерации.

Пусть корни отделены и содержит единственный корень. Уравнение (1.1) приведем к итерационному виду:

(1.2)

где функция дифференцируема на и для любого . Функцию можно подобрать в виде

(1.3)

где находится из условия , для .

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

(1.4)

3. Сделать уточнение корней методом хорд или касательных (X, K в таблице 1.1) с заданной точностью .

Расчетная формула для метода хорд:

,

для метода касательных:

,

Значение для метода хорд и начальная точка для метода касательных выбирается из условия выполнения неравенства .

В результате вычислений по этим формулам может быть получена последовательность приближенных значений корня . Процесс вычислений заканчивается при выполнении условия < (). В каждом случае вывести на печать количество итераций, необходимых для достижения заданной точности.

ПРИМЕРНЫЙ ВАРИАНТ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ НА Maple

Отделяем корни графически

> y(x): =exp(-x)-0.5;

> plot(y(x), x=-1..3);

Решение с использованием команды solve

> solve(y(x), x);

Рассмотрим процедуру, в рамках которой вычисление корней уравнения вида f(x) = 0 осуществляется методом половинного деления интервала. Ниже приведен код процедуры DoublDiv), согласно которой находятся корни выражения ff. Переменная, относительно которой ищутся корни, а также интервал определяются равенством xint. Погрешность задается параметром epsilon.

> DoublDiv: =proc(ff, xint, epsilon)

> local x, a, b, c, f, i;

> x: =lhs(xint);

> a: =op(rhs(xint))[1];

> b: =op(rhs(xint))[2];

> f: =unapply(evalf(ff), x);

> if f(a)*f(b)> 0 then print(" Неверное введенный интервал");

> else if f(a)*f(b)< 0 then

> while (abs(b-a)> epsilon and f(c)< > 0)

> do

> c: =(a+b)/2;

> if f(a)*f(c)> 0 then a: =c;

> else b: =c;

> end if;

> end do;

> else

> if f(a)=0 then c: =a;

> else c: =b;

> end if;

> end if;

> x=evalf(c);

> end if;

> end proc:

Основная часть кода данной процедуры нужна для отслеживания особых ситуаций, когда в процессе поиска решения на одном из этапов пробная точка случайно совпадает с корнем. Однако прежде выполняется ряд инициализаций. Так, локальная переменная х определяется как левая часть равенства xint, указанного параметром процедуры. Переменным а и b присваиваются в качестве значений левая и правая границы диапазона, на котором ищется корень. А переменная f определяется как функциональная зависимость, соответствующая выражению, для которого ищутся корни.

Ниже приведены результаты использования разработанной процедуры для выражения.

> F: =exp(-t)-0.5;

> DoublDiv(F, t=0..3, 0.000001);

Процедура для вычисления корней уравнения методом секущих может быть получена из процедуры вычисления корней методом половинного деления, если заменить оператор присваивания значения переменной с и условие проверки точности. В качестве верхней границы для точности результата может быть выбран модуль отношения значения функции в точке предполагаемого решения (в процедуре — это f (с)) и минимального значения для производной этой функции на рассматриваемом интервале (параметр М). Вот код для этой процедуры.

> khorda: =proc(ff, xint, epsilon, M)

> local x, a, b, c, f, i;

> x: =lhs(xint);

> a: =op(rhs(xint))[1];

> b: =op(rhs(xint))[2];

> f: =unapply(evalf(ff), x); c: =b-f(b)*(b-a)/(f(b)-f(a));

> if f(a)*f(b)> 0 then print(" Неверное введенный интервал");

> else if f(a)*f(b)< 0 then

> while (abs(f(c)/M)> epsilon and f(c)< > 0)

> do

> if f(a)*f(c)> 0 then a: =c;

> else b: =c;

> end if; c: =b-f(b)*(b-a)/(f(b)-f(a));

> end do;

> else

> if f(a)=0 then c: =a;

> else c: =b;

> end if;

> end if;

> x=evalf(c);

> end if;

> end proc:

> F1: =exp(-t)-0.5;

Теперь воспользуемся процедурой khorda(), предварительно оценив, что производная для Fl(x) по абсолютной величине меньше ехр(-3) на рассматриваемом интервале быть не может. Эту величину, преобразованную в формат числа с плавающей точкой, и указываем последним параметром процедуры khorda().

> khorda(F1, t=0..3, 0.000001, evalf(exp(-3)));

Как видим, результаты в пределах погрешности полностью совпадают.

 







Дата добавления: 2014-11-10; просмотров: 757. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия