Remkomplekty.ru

IT Новости из мира ПК
66 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Метод хорд паскаль

Метод хорд

Геометрическая интерпретация метода хорд состоит в следующем
(рис.6.2.3-8).

Проведем отрезок прямой через точки A и B. Очередное приближение x1 является абсциссой точки пересечения хорды с осью 0х. Построим уравнение отрезка прямой:

Положим y = 0 и найдем значение х = х1 (очередное приближение):

Повторим процесс вычислений для получения очередного приближения к корню — х2:

В нашем случае (рис.6.2.11) и расчетная формула метода хорд будет иметь вид

(6.2.3-13)

Эта формула справедлива, когда за неподвижную точку принимается точка b, а в качестве начального приближения выступает точка a.

Рассмотрим другой случай (рис. 6.2.3-9), когда .

Уравнение прямой для этого случая имеет вид

Очередное приближение х1 при y = 0

Тогда рекуррентная формула метода хорд для этого случая имеет вид

(6.2.3-14)

Следует отметить, что за неподвижную точку в методе хорд выбирают тот конец отрезка [a;b], для которого выполняется условие f (x)∙ f¢¢ (x)>0.

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

Достаточные условия, которые обеспечивают вычисление корня уравнения f(x)=0 по формуле хорд, будут теми же, что и для метода касательных (метод Ньютона), только вместо начального приближения выбирается неподвижная точка. Метод хорд является модификацией метода Ньютона. Разница состоит в том, что в качестве очередного приближения в методе Ньютона выступает точка пересечения касательной с осью 0Х, а в методе хорд – точка пересечения хорды с осью 0Х – приближения сходятся к корню с разных сторон.

Оценка погрешности метода хорд определяется выражением

(6.2.3-15)

Условие окончания процесса итераций по методу хорд

(6.2.3-16)

В случае, если M1

Пример 6.2.3-4. Уточнить корень уравнения e x – 3x = 0, отделенный на отрезке [0;1] с точностью 10 -4 .

Проверим условие сходимости:

Следовательно, за неподвижную точку следует выбрать а=0, а в качестве начального приближения принять х=1, поскольку f(0)=1>0 и f(0)*f»(0)>0.

Результаты расчета, полученные с использованием формулы
6.2.3-14, представлены в таблице 6.2.3-4.

Решение нелинейных уравнений на языке программирования Pascal

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

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

Данный метод достаточно прост и содержит всего два действия. Сначала находится переменная х – середина интервала [a,b]. После чего вычисляется значение функции в середине интервала. Затем определяется, совпадает ли по знаку значение функции в середине интервала, со знаком функции в левой части. В случаи если их знаки равны, то новой левой границей считается середина интервала, в ином же случаи правой граница интервала считается его середина. Таким образом, при каждой итерации интервал сокращается вдовое то справа, то слева. Очень часто можно встретить следующую реализацию данного метода.

Читать еще:  Переменные в си шарп

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

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

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

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

В основе метода Ньютона лежит разложения функции в ряд Тейлора:

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

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

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

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

Существуют также и другие методы, например, золотого сечения. Какой из них использовать решать вам, однако следует отметить, что наиболее быстродейственным считается метод Ньютона, затем метод хорд и последним по быстродействию является метод половинного деления. Хотя количество итераций напрямую зависит от введенных начальных данных. При удачном стечении обстоятельств решение каждым из методов может быть найдено даже при единственной итерации.

Метод хорд паскаль

‘ width=’8′ height=’8’ /> Внимание! Действует предмодерация

Подраздел FAQ (ЧАВО, ЧАстые ВОпросы) предназначен для размещения готовых рабочих программ, реализаций алгоритмов. Это нечто вроде справочника, он наполнялся в течение 2000х годов. Ваши вопросы, особенно просьбы решить задачу, не пройдут предмодерацию. Те, кто наполнял раздел, уже не заходят на форум, а с теми, кто на форуме сейчас, лучше начинать общение в других разделах. В частности, решение задач — здесь.

Группа: Пользователи
Сообщений: 7

Репутация:

Уникальный

Группа: Пользователи
Сообщений: 64
Пол: Мужской

Репутация: 2

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

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

Читать еще:  Паскаль округление до сотых

var
x:real;
a:array [1..2, 1..255] of real;
b:boolean;
i,n:byte;
y1,y2,dr,md,maxx,maxy,maxx2,maxy2:integer;

procedure search(a,b:real; var x:real);
const e=0.0001; < e - Точность >
begin
repeat
x:=(a+b)/2;
if f(a)*f(x)>0 then a:=x else b:=x;
until abs(f(x)) 0 then b:=true;

repeat
if b=true then begin
if f(x) 0;

if b=false then begin
if f(x)>0 then begin
n:=n+1;
a[2,n]:=x;

repeat
x:=x-0.1;
until f(x) d2;

if n=0 then writeln(‘Корней нет . ‘)
else begin
writeln(‘В уравнении F(x) на отрезке [‘,d1,’,’,d2,’] найдено ‘,
n,’ корн(-ей/-я/-ь)’);
for i:=1 to n do begin
search(a[1,i],a[2,i],x);
writeln(‘X’,i,’ = ‘,x:5:3);
end;
end;

writeln(‘Нажмите клавишу «Enter» для построения’);
readln;
dr:=9;
md:=2;
initgraph(dr,md,’c:bpbgi’);
setcolor(12);

maxx:=getmaxx;
maxy:=getmaxy;
maxx2:=maxx div 2;
maxy2:=maxy div 2;

<ось OY>
line(maxx2,0,maxx2,maxy);
line((maxx2)-4,10,maxx2,0);
line((maxx2)+4,10,maxx2,0);
line((maxx2)+10,5,maxx2+14,9);
line((maxx2)+14,9,maxx2+18,5);
line((maxx2)+14,9,maxx2+14,14);
<ось OX>
line(0,maxy2,maxx,maxy2);
line(maxx-10,maxy2-4,maxx,maxy2);
line(maxx-10,maxy2+4,maxx,maxy2);
line(maxx-15,maxy2-12,maxx-7,maxy2-20);
line(maxx-15,maxy2-20,maxx-7,maxy2-12);

<График уравнения>
x:=d1;
setcolor(15);
repeat
y1:=maxy2-round(f(x-1));
y2:=maxy2-round(f(x));
if (y1>0) and (y1 0) and (y2 d2;
readln;
closegraph;
end.

Эскизы прикрепленных изображений

Решение нелинейных уравнений методом хорд в 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. метод хорд

Читать еще:  Быстрая сортировка матрицы паскаль

Вопросы:

  • Запишите уравнение, позволяющее определить координаты точки пересечения с осью ОХ.
  • Почему алгоритм решения этой задачи можно назвать циклическим?
  • Какое действие в алгоритме повторяется?
  • Определите условие, при котором действие алгоритма должно остановиться.
  • Изобразите блок-схему алгоритма блок-схема2

Этапы решения задачи

  • Содержательная постановка задачи. Решение уравнения y = x 3 – cos(x) на отрезке [–1,4; 1,4] с точностью = 0,001.
  • Визуализация решения задачи с помощью построения графика заданной функции с помощью процессора MS Excel, используя метод подбора параметра определить корень уравнения.
  • Формальная математическая модель.
    • Задание математической формулы для отыскания корня уравнения на отрезке
    • Задание системы ограничений при использовании циклического алгоритма
    • Требование к диапазону задания переменных

Для формализации модели используем математические формулы.

уравнение прямой, проходящей через две точки, где x1 = a, x2 = в, y1 = f(a), y2 = f(в).

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

Определим корень уравнения

  • Блок схема алгоритма решения задачи блок-схема2
  • Программа на языке Turbo Pascal метод хорд ТР
  • Заполнение расчетной таблицы в программе MS Excel метод хорд xls

Решение уравнений по методу хорд

— границы интервала, содержащего корень уравнения (А,В),

— R — абсолютная погрешность результата (корня уравнения),

— E — допустимое значение функции, близкое к нулю,

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

— Хn, Хn-1 — два последних приближенных значения корня,

— L =

Основные шаги алгоритма:

а) вычислить f(A), f(B);

б) если f(A) f(B) > 0, то корень отсутствует, L = -1, конец работы,

в) вычислить значение абсциссы точки пересечения хорды с осью 0Х

х1 = A — f(A) (B-A)/[f(B) — f(A)];

г) если f(A) f(Х1) > 0, то А = х1, f(A)=f(х1), иначе В=х1, f(В)=f(х1);

д) если f(х1) = Nmax, то закончить работу.

Решение уравнений по методу деления пополам (дихотомии)

Исходные данные и результаты те же, что в предыдущем случае.

Основные шаги алгоритма:

а) вычислить f(A), f(B);

б) если f(A) f(B) > 0, то корень отсутствует, конец работы;

в) вычислить координату средины интервала х1 = и значение функции при х1: f(х1);

г) если f(A) f(х1) > 0, то А = х1, f(A) = f(х1), иначе В = х1, f(В) = f(х1);

д) если f(х1) = Nmax, то закончить работу.

5.6 Решение уравнений по методу касательных (Ньютона)

Предварительно следует найти первую производную f (x).

Исходные данные и результаты те же, что в предыдущих случаях.

Основные шаги алгоритма:

а) вычислить f(A), f (B);

б) если f(A) f(B) > 0, то корень отсутствует, L = -1, конец работы;

в) вычислить координату пересечения касательной к графику функции с осью ОХ: x1= A и значение функции в этой точке f(x1);

д) если f(x1) = Nmax, то закончить работу.

Методы приближённого вычисления значений интегралов

Метод прямоугольников

При использовании метода прямоугольников (рис. 1) для вычисления суммы S1 используются формулы:

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

При использовании метода трапеций (рис. 2) для вычисления суммы S1 используются формулы:

6.3 Метод парабол (Симпсона)

При использовании метода Симпсона для вычисления суммы S1 используется формула:

S1 = ,

где n — четное число.

Для вычисления суммы S2 используются те же формулы, только при измененных значениях шага аргумента h и количества интервалов n. 4.

Варианты заданий для решения уравнений

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×