Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Схема алгоритмов, программа и контрольное тестирование



Базовая схема алгоритма метода хорд приведена на рис.6.2.3-10 в [2], а программу студенты должны написать самостоятельно и провести контрольное тестирование.

 

Результаты «расчета на ПК»

Результаты расчета приближенного корня уравнения с различной точностью по программе, написанной по схеме алгоритма рис. 6.2-3-10 с различными значениями точности, приведены в следующей таблице:

 

E n x f(x)
0.01 0.6060 4.08077Е-03
0.001 0.60706 1.590771Е-04
0.0001 0.607057 1.590771Е-04

Погрешность результата «расчета на ПК»

Принимаем за точное решение x*=0.607102, тогда погрешность результатов «расчета на ПК»

 

ε Погрешность
0.01 0.0011
0.001 0.0004
0.0001 0.0004

Зависимость числа итераций от точности в логарифмическом масштабе

Для метода хорд по данным таблицы построим зависимость n(E)

 

ε 0.01 0.001 0.0001
n

Решение поставленной задачи с помощью математических пакетов

Для решения нелинейных уравнений вида f(x) = 0 в Mathcad используется функция root(f(x), x), где f(x) – выражение, стоящее в левой части решаемого уравнения, х - имя переменной, в которой помещается найденное значение корня. Функция root реализует вычисление корня уравнения численным методом с точностью TOL ( по умолчанию TOL =1.10-3 ).

 

Для решения нелинейных уравнений вида f(x) = 0 в MatLab используются функции fzero() и solve():

%Команды MatLab [x, f, e_flag, inform]=fzero('1-3*x+cos(x)', [0, 1]) x = 0.6071 f = 1.1102e-016 e_flag = inform = intervaliterations: 0 iterations: 6 funcCount: 8 algorithm: 'bisection, interpolation' message: 'Zero found in the interval[0, 1]' syms x y=solve('1-3*x+cos(x)=0') y = .60710164810312263122482837345049

6.2.5.2. Пример выполнения задания с использованием MatLab

 

1. Задание для решения нелинейного уравнения:

· уравнение – ;

· методы решения нелинейных уравнений для ручного расчета – половинного деления, итераций, Ньютона и хорд;

· методы решения нелинейных уравнений для расчета на ПК – половинного деления, итераций, Ньютона и хорд.

Отделение корней

%Команды MatLab f=inline('1-3*x+cos(x)'); x=-2: 0.5: 2; y=f(x); plot(x, y, 'k', 'LineWidth', 4); grid on title('f=1-3*x+cos(x)'); %или график функций f1(x)=cos(x) и f2(x)=3x-1. %Команды MatLab x=-2: 0.5: 2; y1=cos(x); y2=3*x-1; grid on plot(x, y1, 'k-', x, y2, 'k--', 'LineWidth', 4); grid on title('y1=cos(x) y2=3x-1'); %Таким образом, можно выбрать отрезок равный [0; 1].

Метод половинного деления

3. Исследование задания для «ручного расчета»

Убедимся, что на отрезке [0; 1] корень существует и он единственный:

Найдем первую и вторую производные функции f(x).

 

%Команды MatLab syms x1 df1=diff('1-3*x1+cos(x1)', x1, 1) df1 = -3-sin(x1) f2=diff('1-3*x1+cos(x1)', x1, 2) f2 = -cos(x1)

 

Построим графики первой и второй производных функции f(x)

 

%Команды MatLab x=0: 0.1: 1; df1=-3-sin(x); df2=-cos(x); plot(x, df1, 'k-', x, df2, 'k--', 'LineWidth', 4); grid on title('df1=-3-sin(x) df2=-cos(x)');

 

Анализируя поведение первой и второй производных, можно сделать вывод, что условия

существования и единственности корня уравнения выполняются (df1 – монотонно

убывающая функция на отрезке [0; 1], а df2 - сохраняет знак).

 

Проверка выполнения условия сходимости. Метод половинного деления сходится, если на выбранном отрезке отделен один корень. Так как на отрезке [0; 1] функция меняет знак ( ) и монотонна (f’(x)< 0), то условие сходимости выполняется.

 

Выбор начального приближения. В качестве начального приближения выбирается середина отрезка = 0.5.

Условие окончания процесса уточнения корня. Для оценки погрешности метода половинного деления справедливо условие: , то есть длина отрезка, полученного на n-ом шаге, должна быть меньше заданной точности - .

 

Ручной расчет» трех итераций

%Команды MatLab n=0 a0=0 b0=1 fa0=f(a0) fb0=f(b0) x0=(a0+b0)/2 fx0=f(x0) ba=b0-a0 f(a0)*f(x0) n = 0 a0 = 0 b0 = 1 fa0 = 2 fb0 = -1.4597 x0 = 0.5000 fx0 = 0.3776 ba = 1 ans = 0.7552 %f(a0)*f(b0) > 0 следовательно n=1 a1=x0 b1=b0 fa1=f(a1) fb1=f(b1) x1=(a1+b1)/2 fx1=f(x1) ba=b1-a1 f(a1)*f(x1) n = 1 a1 = 0.5000 b1 = 1 fa1 = 0.3776 fb1 = -1.4597 x1 = 0.7500 fx1 = -0.5183 ba = 0.5000 ans = -0.19577 %f(a0)*f(b0) < 0, следовательно, n=2 a2=a1 b2=x1 fa2=f(a2) fb2=f(b2) x2=(a2+b2)/2 fx2=f(x2) ba=b2-a2 f(a2)*f(x2) n = 2 a2 = 0.5000 b2 = 0.7500 fa2 = 0.3776 fb2 = -0.5183 x2 = 0.6250 fx2 = -0.0640 ba = 0.2500 ans = -0.0242 %f(a0)*f(b0) < 0, следовательно, n=3 a3=a2 b3=x2 fa3=f(a3) fb3=f(b3) x3=(a3+b3)/2 fx3=f(x3) ba=b3-a3 f(a3)*f(x3) n = 3 a3 = 0.5000 b3 = 0.6250 fa3 = 0.3776 fb3 = -0.0640 x3 = 0.5625 fx3 = 0.1584 ba = 0.1250 ans = 0.0598

 

Результаты вычислений удобно представить в виде таблицы (табл. 6.2-2а).

 

n a b f(a) f(b) (a+b)/2 f( (a+b)/2) b-a
-1.4597 0.5 0.3776 0.5
0.5 0.3776 -1.4597 0.75 -0.5183 0.25
0.5 0.75 0.3776 -0.5183 0.625 -0.0640 0.125
0.5 0.625 0.3776 -0.0640 0.5625 0.1584 0.0625

За корень может быть принята любая точка, принадлежащая отрезку, в частности, середина отрезка – x=0.5625.

Погрешность численного решения нелинейных уравнений

|x*-x| = |0.607102-0.55625| = 0.44602.

 

Выполняются аналогично 6. - 10. п. 6.2.5.1

Метод итераций

3. Исследование задания для «ручного расчета»

Проверка выполнения условий сходимости. При уточнении корня методом итерации приводят уравнение f(x)=0 к виду . Тогда рекуррентная формула .

  • Для сходимости процесса итерации необходимо, чтобы при . Если то сходимость не обеспечена. В этом случае могут быть использованы приемы из п. 6.2.3-2 в [2].

Рассмотрим правило выбора параметра на примере:

  • , следовательно,
  • f’(0)=-3, f’(1)=-3-sin1=-3.84, .
  • Полагаем . Тогда рекуррентная формула где

 

Выбор начального приближения. Начальное значение в методе итерации – произвольное значение из отрезка [a; b]. Например, x0=0.

Условие окончания процесса уточнения корня. Для оценки погрешности метода итерации справедливо условие:


Поделиться:



Популярное:

  1. А-общий вид; б-принципиальная схема; 1-неоновая лампа; 2- шунтирующее сопротивление; 3-добавочное сопротивление; 4-корпус.
  2. Автоматическая схема переключения шин.
  3. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  4. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  5. Алгоритм линейной структуры и его блок-схема.
  6. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.
  7. Вопрос 2. Структура и организация платежной системы. Базовая схема операции с банковской кредитной карточкой.
  8. Глава 4. Схема нейропсихологического обследования дошкольников и процедура анализа результатов
  9. Дает ли международная программа PISA объективную оценку знаний и умений учащихся? Ответ на этот вопрос дает системный анализ группы заданий по математике «Походка» международной программы PISA-2003
  10. Индивидуальная программа реабилитации инвалида. Трудоустройство инвалидов
  11. Информация о количестве учебных часов, на которых рассчитана рабочая программа.
  12. Как воспитывать гендерно не схематизированных детей?


Последнее изменение этой страницы: 2016-05-03; Просмотров: 575; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь