Студопедия Главная Случайная страница Обратная связь

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

Задание 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; просмотров: 820. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

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

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

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