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

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

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




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


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

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

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

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

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