Решение нелинейных уравнений
Решение нелинейного уравнения методом хорд. Порядок определения корня нелинейного уравнения методом касательных (Ньютона). Особенности применения комбинированного метода хорд и касательных. Построение соответствующих блок-схем и написание текста программ.
Рубрика | Математика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 29.10.2017 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Решение нелинейного уравнения методом хорд
Постановка задачи: Найти корень нелинейного уравнения методом хорд с точностью .
Краткая теория: Дано нелинейное уравнение , где функция определена и непрерывно-дифференцируема для всех , причем функция меняет знак на концах этого отрезка т.е. .
Найти приближенное решение данного уравнения с точностью Приближенное решение и погрешность приближения находятся по следующей схеме:
если на , то , , ;
если на , то , ,
Приближенное решение и погрешность приближения : , Первый способ вычисления погрешности: ,.
Другой способ: , .
Блок-схемы
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Текст программы
нелинейный уравнение хорда касательная
Program MetodHord;
Const Eps=0.0001; h=0.1;
Var alfa,beta,X,dX, x1,x2,y1,y2:Real; k:integer;
Function F(xf:Real):Real;
Begin
F:=Sqr(xf)*xf-1.2*xf+1;
End;
Function d2F(x1,x2:Real):Real;
Function ddF(xf:Real):Real;
Begin
ddF:=6*xf
End;
Var S:Real;
Begin
S:=0;
While x1<=x2 do
Begin
S:=S+ddF(x1); x1:=x1+h/2;
End;
d2F:=S;
End;
Function XA(a,xn:Real):Real;
Begin
XA:=Xn-(F(Xn)/( F(a)-F(Xn) ))*(a-Xn)
End;
Function XB(b,Xn:Real):Real;
Begin
XB:=Xn-(F(Xn)/(F(b)-F(Xn)))*(b-Xn)
End;
Procedure MH(a,b:Real; Var Xn,dX1:Real;var k:integer);
Var y,Xn1:Real;
Begin
If F(b)*d2F(a,b)>0
Then
Begin
Xn:=a; y:=F(Xn);
Repeat
Xn1:=Xb(b,xn); y:=F(Xn1); Xn:=Xn1;inc(k);
Until Abs(Xn-Xn1)<=Eps;
dX1:=Abs(Xn-Xn1);
End;
If F(a)*d2F(a,b)>0
Then
Begin
Xn:=b; y:=F(Xn);
Repeat
Xn1:=Xa(a,xn); y:=F(Xn1); Xn:=Xn1; inc(k);
Until Abs(Xn-Xn1)<=Eps ;
dX1:=Abs(Xn-Xn1);
End
End;
Begin {отделение корней}
Write(`Введите отрезок : '); ReadLn(Alfa,Beta);
x1:=alfa;
x2:=x1+h;
y1:=F(x1);
While x2<=beta do
Begin
y2:=F(x2);
If y1*y2<=0
Then
Begin
WriteLn(`Корень определен на промежутке ( ',x1:4:1,' ; ',x2:4:1,' )');
MH(x1,x2,X,dX,k);
WriteLn('X = ',X:10:8,' +- ',dX:10:8); WriteLn(k);
End;
If y1*y2=0
Then
Begin
x2:=x2+h;
y2:=F(x2);
End;
x1:=x2;
x2:=x1+h;
y1:=y2;
End;
If X=0 Then WriteLn(`На этом промежутке нет корней.');
End.
Тестовый пример
Найти корень нелинейного уравнения F(x) ? x2-4 = 0
x1=-2 & x2=2.
Размещено на http://www.allbest.ru/
Протокол
Проверка и вывод
Решение задачи:
Размещено на http://www.allbest.ru/
Протокол
Проверка и вывод
График функции пересекает ось абсциссы на [-2;-1]. Уточним его методом хорд. Для этого определим знаки функции и второй её производной на этом отрезке [-2;-1].
; ,
для любого x из [-2;-1].
Поскольку , то применяем формулу
где - неподвижная точка, . Получим следующую таблицу.
Приблизительная схема применения метода:
Оценим погрешность приближения. Так как не меняет свой знак на данном отрезке, то достигает своего наибольшего и наименьшего значения на концах отрезка [-2;-1], поэтому для любого .
Тогда используя оценку погрешности
для любого .
Получим ,
Следовательно, приближенное значение корня равно .
Запишем приближенное значение корня только верными значащими цифрами в узком смысле.
Имеем . Округлим до . Получим , , .
Найдем число верных знаков для . Имеем . Так как , то получим приближенное значение корня с числом верных знаков .
Ответ:.
2. Метод касательных (Ньютона)
Тема: Решение нелинейного уравнения методом касательных (Ньютона).
Постановка задачи: Найти корень нелинейного уравнения методом касательных с точностью .
Краткая теория: Дано нелинейное уравнение F(x) =0, где функция у = F(x) определена и непрерывно-дифференцируема для всех , причем функция меняет знак на концах этого отрезка т.е. F(a) · F(b) < 0.
Приближенное решение о ; и погрешность приближения До; находятся по следующей схеме: если F(b) · F"(x) > 0 на [a,b], то ;
если F(a) · F"(x) > 0 на [a,b], то ;
, .
Приближенное решение о, и погрешность приближения До:
, .
Блок-схемы
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Текст программы
Program Metod_Kasateln;
Const Eps=0.0001; H=0.25;
Var alfa,beta,X,dX, x1,x2,y1,y2:Real; k:integer;
Function F(xf:Real):Real;
Begin
F:=Cos(xf-1)-Sqr(xf)/3
End;
Function dF(Xf:Real):Real;
Begin
dF:=-Sin(xf-1)-2/3*xf
End;
Function d2F(x1,x2:Real):Real;
Function ddF(xf:Real):Real;
Begin
ddF:=-Cos(xf-1)-2/3
End;
Var S:Real;
Begin
S:=0;
While x1<=x2 do
Begin
S:=S+ddF(x1);
x1:=x1+H/2;
End;
d2F:=S;
End;
Procedure M_Kas(a,b:Real; Var Xn,dX1:Real;var k:integer);
Var Xn1:Real;
Begin
If F(a)*d2F(a,b)>0
Then Xn:=a
Else Xn:=b;
dX1:=1;
While Abs(dx1)>EPS do
Begin
Xn1:=Xn;
Xn:=Xn1-F(Xn1)/dF(Xn1);
dX1:=Xn1-Xn; inc(k);
End;
End;
Begin {Отделение корней}
Write('Введите промежуток : '); ReadLn(Alfa,Beta);
x1:=alfa;
x2:=x1+H;
y1:=F(x1);
While x2<=beta do
Begin
y2:=F(x2);
If y1*y2<=0
Then
Begin
WriteLn('Корень определен на промежутке ( ',x1:0:2,' ; ',x2:0:2,' )');
M_Kas(x1,x2,X,dX,k);
WriteLn('X = ',X:10:8,' +- ',dX:10:8); WriteLn(`Количество итерации=',k);
End;
If y1*y2=0
Then
Begin
x2:=x2+H; y2:=F(x2);
End;
x1:=x2; x2:=x1+H; y1:=y2;
End;
If X=0 Then WriteLn('На этом промежутке корней НЕ СУЩЕСТВУЕТ.');
End.
Тестовый пример
Найти корень нелинейного уравнения 0
x1=1.00.
Второй и третий корень мнимый.
Размещено на http://www.allbest.ru/
Протокол
Проверка и вывод
Решение задачи
0.
График уравнения
Размещено на http://www.allbest.ru/
Протокол
Отделим корни уравнения графически (и программно). Для этого построим график функции и и найдем абсциссы точек пересечения графиков этих функций: .
Проверка и вывод
В качестве примера рассмотрим первый и второй корень.
Уточним корни методом касательных:
1). Для этого определим знаки функции и второй её производной на этом отрезке [-2,25;-1,75].
-9,000911882<0 ,
0,754516003>0
Тогда
Применяем формулу .
Оценим погрешность приближения. Так как не меняет свой знак на данном отрезке, то достигает своего наибольшего и наименьшего значения на концах отрезка [-2,25;-1,75], поэтому для любого .
Тогда используя оценку погрешности
для любого .
Получим ,
Следовательно, приближенное значение первого корня равно
.
Запишем приближенное значение корня только верными значащими цифрами в узком смысле.
. Округлим до .
Получим , с погрешностью округления . .
Найдем число верных знаков для . . . . . Следовательно .
Ответ:
2). Для этого определим знаки функции и второй её производной на этом отрезке .
0,239664717>0
-0,11375516<0
.
Тогда
Применяем формулу .
Оценим погрешность приближения. Так как не меняет свой знак на данном отрезке, то достигает своего наибольшего и наименьшего значения на концах отрезка , поэтому для любого .
Тогда используя оценку погрешности
для любого .
Получим ,
Следовательно, приближенное значение второго корня равно
.
Запишем приближенное значение корня только верными значащими цифрами в узком смысле.
. Округлим до .
Получим , с погрешностью округления . .
Найдем число верных знаков для . . Следовательно .
Ответ:.
3. Комбинированный метод хорд и касательных
Тема: Решение нелинейного уравнения методом хорд и касательных.
Постановка задачи: Найти корень нелинейного уравнения методом хорд с точностью .
Краткая теория:
Дано нелинейное уравнение, где функция определена и непрерывно-дифференцируема для всех , причем функция меняет знак на концах этого отрезка, т.е. .
Найти приближенное решение данного уравнения с точностью .
Приближенное решение и погрешность приближения находятся по следующей схеме:
если на , то ,
, , ;
если на , то ,,
,,.
Приближенное решение и погрешность приближения :
, .
Блок-схемы
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Текст программы
Program Metod_KiH;
Const Eps=0.0001;h=0.25;
Var alfa,beta,X,dX, x1,x2,y1,y2:Real;
Function F(xf:Real):Real;
Begin
F:=xf*xf*xf-5*xf*xf+xf-3.2;
End;
Function dF(xf:Real):Real;
Begin
dF:=3*xf*xf-10*xf+1;
End;
Function ddF(xf:Real):Real;
Begin
ddF:=6*xf-10;
End;
Procedure MC(a,b:Real;Var x1,dx1:Real);
Var xn1, xn2,xp1,xp2:Real;
Begin
If F(a)*ddF(a)>0
Then
Begin
xn1:=b; xn2:=a;
End
Else
Begin
xn1:=a; xn2:=b;
End;
dx1:=1;
While Abs(dx1)>EPS do
Begin
xp1:=xn1; xp2:=xn2; xn1:=xp1-(F(xp1)/(F(xp2)-F(xp1)))*(xp2-xp1);
xn2:=xn2-F(xp2)/dF(xp2); dx1:=Abs((xn2-xn1)/2);
End;
x1:=(xn1+xn2)/2;
End;
Begin {Отделение корней}
Write('Введите промежуток : '); ReadLn(Alfa,Beta);
x1:=alfa; x2:=x1+h;
y1:=F(x1);
While x2<=beta do
Begin
y2:=F(x2);
If y1*y2<=0
Then
Begin
WriteLn('Корень определен на промежутке ( ',x1:0:2,' ; ',x2:0:2,' )');
MC(x1,x2,X,dX);
WriteLn('X = ',X:10:8,' +- ',dX:10:8);
End;
If y1*y2=0
Then
Begin
x2:=x2+h; y2:=F(x2);
End;
x1:=x2; x2:=x1+h; y1:=y2;
End;
If X=0 Then WriteLn('На этом промежутке корней НЕ СУЩЕСТВУЕТ.');
End.
Тестовый пример:
Найти корень нелинейного уравнения 0
x1=2.00 & x2=-1+i& x3=-1-i.
Размещено на http://www.allbest.ru/
Протокол
Проверка и вывод
Решение задачи:
Размещено на http://www.allbest.ru/
Протокол
График уравнения
Отделим корни уравнения графически. Для этого построим график функции и и найдем абсциссы точек пересечения графиков этих функций: .
Уточним корни методом касательных:
1). Для этого определим знаки функции и второй её производной на этом отрезке
-8,825<0 ,
8,940625>0
. Тогда
Применяем формулы
, , ,
Процесс продолжаем до выполнения условия |, тогда за приближенное значение корня можно взять значение
Оценим погрешность приближения. Так как не меняет свой знак на данном отрезке, то достигает своего наибольшего и наименьшего значения на концах отрезка , поэтому для любого .
Тогда используя оценку погрешности
для любого .
Получим ,
Следовательно, приближенное значение корня равно
.
Запишем приближенное значение корня только верными значащими цифрами в узком смысле.
. Округлим до .
Получим , с погрешностью округления . .
Найдем число верных знаков для . .
Следовательно, .
Ответ:.
Размещено на Allbest.ru
...Подобные документы
Графическое решение нелинейного уравнения. Уточнение значение одного из действительных решений уравнения методами половинного деления, Ньютона–Рафсона, секущих, простой итерации, хорд и касательных, конечно-разностным и комбинированным методом Ньютона.
лабораторная работа [32,7 K], добавлен 11.06.2011Контрольный пример к алгоритму метода хорд. Вычисление и уточнение корня методом хорд и касательных. Нахождение второй производной заданной функции. Уточненное значение корня решаемого уравнения на заданном интервале. Код программы данного примера.
лабораторная работа [276,9 K], добавлен 02.12.2014Общая постановка задачи. Отделение корня. Уточнение корня. Метод половинного деления (бисекции). Метод хорд (секущих). Метод касательных (Ньютона). Комбинированный метод хорд и касательных. Задания для расчётных работ.
творческая работа [157,4 K], добавлен 18.07.2007Приближенные значения корней. Метод дихотомии (или деление отрезка пополам), простой итерации и Ньютона. Метод деления отрезка пополам для решения уравнения. Исследование сходимости метода Ньютона. Построение нескольких последовательных приближений.
лабораторная работа [151,3 K], добавлен 15.07.2009Геометрическая интерпретация методов Ньютона, итерации и спуска. Определение корня уравнения с заданной степенью точности. Решение систем нелинейных алгебраических уравнений. Нахождение эквивалентного преобразования для выполнения условия сходимости.
курсовая работа [371,6 K], добавлен 14.01.2015Приближенные решения кубических уравнений. Работы Диофанта, Ферма и Ньютона. Интерационный метод нахождения корня уравнения. Геометрическое и алгебраическое описания метода хорд. Погрешность приближенного решения. Линейная скорость сходимости метода.
презентация [255,1 K], добавлен 17.01.2011Вычисление корня функции нелинейного уравнения методом деления отрезка пополам. Способы ввода, вывода и организации данных. Модульная организация программы. Разработка блок-схемы алгоритма задачи. Порядок создания программы на алгоритмическом языке.
реферат [30,0 K], добавлен 28.10.2010Решение нелинейных уравнений методом касательных (Ньютона), особенности и этапы данного процесса. Механизм интерполирования функции и численное интегрирование. Приближенное решение обыкновенных дифференциальных уравнений первого порядка методом Эйлера.
курсовая работа [508,1 K], добавлен 16.12.2015Изучение методов уточнения корней нелинейных уравнений (половинного деления, хорд, касательных, простой итерации). Метод хорд и касательных дает высокую скорость сходимости при решении уравнений, и небольшую - метод половинного деления и простой итерации.
контрольная работа [58,6 K], добавлен 20.11.2010Сущность и графическое представление методов решения нелинейных уравнений вида F(x)=0. Особенности метода хорд, бисекции, простой итерации, касательных и секущих. Проверка результатов с помощью встроенных функций и оценка точности полученных значений.
контрольная работа [316,1 K], добавлен 09.11.2010Методы решения нелинейных уравнений: касательных и хорд, результаты их вычислений. Алгоритм и блок схема метода секущих. Исследование характерных примеров для практического сравнения эффективности рассмотренных методов разрешения нелинейных уравнений.
дипломная работа [793,2 K], добавлен 09.04.2015Нахождение интерполяционных многочленов Лагранжа и Ньютона, проходящих через четыре точки заданной функции, сравнение их степенных представлений. Решение нелинейного дифференциального уравнения методом Эйлера. Решение систем алгебраических уравнений.
задача [226,9 K], добавлен 21.06.2009Исследование сущности и сфер применения метода итераций. Нелинейные уравнения. Разработка вычислительный алгоритм метода итераций. Геометрический смысл. Составление программы решения систем нелинейных уравнений методом итераций в среде Turbo Pascal.
реферат [183,7 K], добавлен 11.04.2014Биография Исаака Ньютона, его основные исследования и достижения. Описание порядка нахождения корня уравнения в рукописи "Об анализе уравнениями бесконечных рядов". Методы касательных, линейной аппроксимации и половинного деления, условие сходимости.
реферат [1,6 M], добавлен 29.05.2009Смысл метода Ньютона для решения нелинейных уравнений. Доказательства его модификаций: секущих, хорд, ложного положения, Стеффенсена, уточненного для случая кратного корня, для системы двух уравнений. Оценка качества метода по числу необходимых итераций.
реферат [99,0 K], добавлен 07.04.2015Решение нелинейных уравнений. Отделения корней уравнения графически. Метод хорд и Ньютона. Система линейных уравнений, прямые и итерационные методы решения. Нормы векторов и матриц. Метод простых итераций, его модификация. Понятие про критерий Сильвестра.
курсовая работа [911,6 K], добавлен 15.08.2012Методы решения одного нелинейного уравнения: половинного деления, простой итерации, Ньютона, секущих. Код программы решения перечисленных методов на языке программирования Microsoft Visual C++ 6.0. Применение методов к конкретной задаче и анализ решений.
реферат [28,4 K], добавлен 24.11.2009Дифференциальные уравнения Риккати. Общее решение линейного уравнения. Нахождение всех возможных решений дифференциального уравнения Бернулли. Решение уравнений с разделяющимися переменными. Общее и особое решения дифференциального уравнения Клеро.
курсовая работа [347,1 K], добавлен 26.01.2015Анализ особенностей разработки вычислительной программы. Общая характеристика метода простых итераций. Знакомство с основными способами решения нелинейного алгебраического уравнения. Рассмотрение этапов решения уравнения методом половинного деления.
лабораторная работа [463,7 K], добавлен 28.06.2013Порядок и принципы составления дифференциального уравнения, методика нахождения неизвестных значений. Замена исходного дифференциального уравнения на систему n-линейных уравнений относительно n-неизвестных. Формирование и решение системы уравнений.
задача [118,8 K], добавлен 20.09.2013