0 / 0 / 0
Регистрация: 03.04.2009
Сообщений: 14
1

Найти корень уравнения методом Ньютона с заданной точностью

04.04.2009, 17:05. Показов 7554. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здраствуйте!
помогите решить задачу по численным методам, мальчишки!!

Нужно составить прогу на паскале, найти корень уравнения методом Ньютона с точностью до 10 в минус 6-ой.
Дана функция f(x)=tg ax-bx=0, где а=2,5237 и b=3,6866
заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2009, 17:05
Ответы с готовыми решениями:

Методом Ньютона, найти один корень трансцендентного уравнения
Добры день. Нуждаюсь в помощи. Задача: Метод Ньютона...

Напишите рекурсивную функцию, которая находит корень уравнения вида f(x) = 0 методом деления отрезка пополам с заданной точностью E.
Помогите решить: Напишите рекурсивную функцию, которая находит корень уравнения вида f(x) = 0...

Методом деления отрезка пополам найти с точностью z корень уравнения
Составить 2е задачи. Рекурсивные процедуры и функции. Описать рекурсивную функцию root(f, a, b,...

Найдите методом Ньютона корень уравнения
Помогите решить данную задачу! скажу сразу по форуму полазил и поискал решения но не понял как их...

18
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2009, 17:50 2
Функция f(x)=tg(ax)-bx=0 ?
0
0 / 0 / 0
Регистрация: 03.04.2009
Сообщений: 14
05.04.2009, 11:51  [ТС] 3
прошу прощения, в задании написано "найти корни уравнения f(x)=0"
а дальше мой вариант "tg ax-bx"

Добавлено через 13 часов 0 минут 41 секунду
мне не поможете да??
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.04.2009, 12:00 4
тангенс от ах или от (ах-bx)?

Добавлено через 4 минуты 26 секунд
И, кстати, напишите первую производную от Вашей функции, а то у меня с этим плохо.
0
0 / 0 / 0
Регистрация: 03.04.2009
Сообщений: 14
05.04.2009, 12:47  [ТС] 5
тангенс только от ах

первая производная f'(x)= a/(cos ax*cos ax) - b

в знаменателе cos ax в квадрате, просто не знала как иначе написать,чтоб понятно было
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.04.2009, 14:34 6
Лучший ответ Сообщение было отмечено как решение

Решение

Я все так и делал, но программа то работала, то не работала. Дело окзалось в том, что функция очень капризная. Все корни ее я не искал, но кроме очевидного х=0, есть 2 корня близко к нему расположенных, это примерно -0,37 и 0,37. Поэтому первое приближение надо вводить очень аккуратно, ближе к одному из этих корней, иначе либо выдает какую-нибудь ерунду, либо(учитывая, что тангенс вообще нехорошая функция, не во всех точках определена) выдает ошибку 207-недопустимая операция с плавающей точкой. Вообще почитайте математику, как выбирается первое приближение при методе Ньютона, я в этом слаб, да и ни к чему мне это.
А программа вот.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
uses crt;
function F(x:real):real;
var a,b:real;
begin
a:=2.5237;{константы}
b:=3.6866;
F:=sin(a*x)/cos(a*x)-b*x;{функция}
end;
function F1(x:real):real;
var a,b:real;
begin
a:=2.5237;
b:=3.6866;
F1:=a/sqr(cos(a*x))-b;{первая производная}
end;
function Newton(x1,e:real):real;{функция нахождения корня}
var x2,c:real;
begin
x2:=x1;{следующей точке присваиваем значение предыдущей}
repeat
c:=x2;{запоминаем следующее}
x2:=c-F(c)/F1(c);{получаем очередное значение, ближе к корню}
until abs(x2-c)<e;{если 2 соседних значения меньше точности, заканчиваем}
Newton:=x2;
end;
var c,eps:real;
begin
clrscr;
eps:=0.000001;{точность}
write('Vvedite nachalnoe priblizenie c=');
readln(c);
write('X=',Newton(c,eps):0:5);
readln
end.
При х=(-0,5;-0,3), (-0,1;0.1), (0.3;0.5) нормально работает.
3
0 / 0 / 0
Регистрация: 03.04.2009
Сообщений: 14
05.04.2009, 16:47  [ТС] 7
Спасибо огромное!! а с корнями я разберусь!!!!
0
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 17:36 8
Ну ты молоток. Я уже 3 дня шарюсь по нету в поисках похожего кода для метода ньютона, везде какието приколы непонятные попадаются, а тя все понятно как день. Спасибо. Слушай а ты можешь мне еще подсказать с методом простых итераций sqr(x)-sin(x)=1, буду очень благодарен.
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 18:58 9
sqr(x)-sin(x)=1
Это уравнение корней не имеет.
1
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 19:30 10
тогда его получается никакм методом не решить ни половинным ни итераций?
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 19:36 11
А как ты сам-то думаешь?
0
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 19:59 12
Сложно сказать я еще эту функцию не табулировал, я пока разбираю немного другую sqr(x)-4*sin(x)=0 сам метод ньютона более мене понял, но по условию надо найти сначала значение min=min|F'(xE[a;b])|, не подскажешь, я знаю как в масиве найти мин или макс значения а тут мои паруса повисли. это min надо подавать при вычеслении корня методом ньютона как начальное приближение.
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 20:00 13
Это не программирование, а математика, я ее не знаю.
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 20:02 14
Сложно сказать я еще эту функцию не табулировал,
Ты прежде чем табулировать, хоть график в Экселе построй и увидишь, что корней нет, ошибка у тебя в уравнении.
0
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 20:02 15
у меня даже схема есть но не все понимаю
0
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 20:05 16
Хорошо а сможешь подсказать как на паскале написать min=|F'(x)|
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 20:09 17
Нужно сначала написать 2 функции, одна исходная, другая ее первая прозводная.
Ты пример-то посмотри в этой теме. А как искать первое приближение смотри в учебниках по математике, там и графический и аналитический методы. Лично я делаю методом тыка, мне эти задачи не сдавать.
0
0 / 0 / 1
Регистрация: 07.04.2009
Сообщений: 8
07.04.2009, 20:10 18
Спасибо.
0
LeXXuK
28.05.2009, 19:18 19
помогите плиз!!! Решить систему нелинейных уравнений методом Ньютон:
cos(y-1)+x=0.5
y-cosx=3
28.05.2009, 19:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2009, 19:18
Помогаю со студенческими работами здесь

Отделить любой действительный корень уравнения Методом Ньютона
Задача: Графически или аналитически отделить любой действительный корень уравнения и вычислить его...

Уточнить корень уравнения методом бисекций с заданной точностью
Добрый день! прошу помочь. уточнить корень указанным методом с точностью ε=0,001 составить...

Рекурсия: найти с заданной точностью квадратный корень по формуле Ньютона
С помощью рекурсивной функции найдите с заданной точностью квадратный корень , воспользовавшись...

Найти методом Ньютона корень уравнения
Найти методом Ньютона корень уравнения f(x)={e}^{x}-cos(2x) с точностью до {10}^{-4}, в качестве...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru