Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26

Ошибка в методе Ньютона

19.12.2013, 16:48. Показов 793. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, где- ошибочка сидит, не могу найти....буду благодарен за помощь
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
uses Crt;
var x,a,b,e: real;
function f1(d: real): real;
begin
f1:=(x-2)*(x-2)*2*x-1;
end;
function f2(d:real): real;
begin
f2:=6*x*x-16*x+8;
end;
begin
Clrscr;
a:=0.4;
b:=2;
e:=0.001;
if f1(a)*f2(a)>0 then x:=a
else x:=b;
while abs(f1(x))>e do
   begin
     x:=x-f1(x)/f2(x);
   end;
Writeln ('x=',x,' f(x)=',f1(x));
Readln
end.
Добавлено через 53 секунды
пишет что: "Вещественное деление на 0". Вроде должно решаться...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2013, 16:48
Ответы с готовыми решениями:

Ошибка в методе простых итераций
Добрые люди, подскажите пожалуйста, где же я ошибся? Метод простых итераций для функции y=0.5*(x+(1/x)) выдает ошибку. Вот...

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

Произвести интерполяцию для вольт-амперной характеристики транзистора методом Ньютона(полином Ньютона)
Напряжение на стоке, В|0|10|20|30|40|50 Ток стока, А|0,00|2,95|4,00|4,45|4,50|4,70 Текст программы и результаты расчетов. Графики...

17
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.12.2013, 18:15
При х=2 производная=0

Добавлено через 3 минуты
И интервал неудачный, 2 корня, 1 на интервале 0-0.5, 2 на интервале 1-1.5

Добавлено через 18 секунд
А программа написана правильно
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
19.12.2013, 18:16  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
При х=2 производная=0
Что тогда делать? Сама программа составлена правильно же?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.12.2013, 18:16
Может в условии было найти все корни?
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
19.12.2013, 18:20  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
При х=2 производная=0

Добавлено через 3 минуты
И интервал неудачный, 2 корня, 1 на интервале 0-0.5, 2 на интервале 1-1.5

Добавлено через 18 секунд
А программа написана правильно
Если не трудно можете сказать как вы узнали что корни находятся на интервале 0-0,5 и 1-1,5?

Добавлено через 1 минуту
Цитата Сообщение от Puporev Посмотреть сообщение
Может в условии было найти все корни?
нет, в задании сказанно найти корни на интервале (0,4;2) методом ньютона. е=0,001
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.12.2013, 18:22
Цитата Сообщение от felarl Посмотреть сообщение
как вы узнали что корни находятся
Да просто нарисовал график в Экселе...

Добавлено через 58 секунд
Цитата Сообщение от felarl Посмотреть сообщение
найти корни
Так ведь не коренЬ, а корнИ
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
19.12.2013, 18:31  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Да просто нарисовал график в Экселе...

Добавлено через 58 секунд

Так ведь не коренЬ, а корнИ
немного ошибся, задание звучит след. образом: Составить программу на языке Pascal для решения уравнения
(x-2)*(x-2)*2x-1=0 на интервале [0.4; 2] методом Ньютона с точностью e=0.001

Добавлено через 2 минуты
Извини, может подскажешь как строить в екселе график, если дана функция (как в моем случае)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.12.2013, 18:36
Да делаешь таблицу X - Y, выделяешь ее и выбираешь график по значку Диаграмма.
Если совсем не умеешь, есть онлайн сервисы для этого, можешь на бумажке нарисовать,совсем что ли в школу не ходил..
Вот программа ищет все корни на указанном интервале
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
35
36
37
38
39
40
41
42
43
44
uses crt;
function f1(x: real): real;
begin
f1:=(x-2)*(x-2)*2*x-1;
end;
function f2(x:real): real;
begin
f2:=6*x*x-16*x+8;
end;
function Newton(a,b,e:real):real;
var x:real;
begin
if f1(a)*f2(a)>0 then x:=a
else x:=b;
while abs(f1(x))>e do
   begin
     x:=x-f1(x)/f2(x);
   end;
Newton:=x;
end;
 
var x,x1,x2,dx,x11,x12,eps:real;
    i:integer;
begin
clrscr;
x1:=0;{интервал для поиска корней}
x2:=2;
dx:=0.1;
eps:=0.001;
x:=x1;
i:=0;
while x<=x2 do
 begin
  x11:=x;
  x12:=x+dx;
  if F1(x11)*F1(x12)<0 then
   begin
    i:=i+1;
    writeln('X',i,'=',Newton(x11,x12,eps):8:5);
   end;
  x:=x+dx;
 end;
readln
end.
1
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
19.12.2013, 18:47  [ТС]
Спасибо что объяснил, я думал что в экселе функцию просто забиваешь и он сам чертит, а нет, сначала все таки нужно у найти.
ого вот эт программка, спасибо, буду разбираться)
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
28.02.2014, 17:36  [ТС]
Снова нужна помощь... Решаю уравнение методом Ньютона, вроде все получается, найденый мною корень хоть и существует, но не входит в заданный интервал, можете указать на ошибку? Заранее благодарен)
Само уравнение: ln(2-x)-cos2x=0, интервал [1;2]
Сама программа:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
 var x,a,b,e: real;
 function f1(x: real): real;
 begin
 f1:=ln(2-x)-cos(2*x);
 end;
 function f2(x:real): real;
 begin
 f2:=(-1/2-x)+2*sin(2*x);
 end;
 begin
 clrscr;
 a:=1;
 b:=2;
 e:=0.001;
 if f1(a)*f2(a)>0 then x:=a
 else x:=b;
 while abs(f1(x))>e do
 begin
 x:=x-f1(x)/f2(x);
 end;
 writeln ('x=',x,' f(x)=',f1(x));
 end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2014, 17:53
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
 var x,e: real;
 function f1(x: real): real;
 begin
 f1:=ln(2-x)-cos(2*x);
 end;
 function f2(x:real): real;
 begin
 f2:=(-1/2-x)+2*sin(2*x);
 end;
 begin
 clrscr;
 repeat
 write('Введите первое приближение 1.5<x0<2 x0=');
 readln(x);
 until(x>1.5)and(x<2);
 e:=0.001;
 while abs(f1(x))>e do
 begin
 x:=x-f1(x)/f2(x);
 end;
 writeln ('x=',x,' f(x)=',f1(x));
 end.
1
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
28.02.2014, 18:27  [ТС]
А что значит первое приближение?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2014, 18:31
А почитать про метод Ньютона вера не позволяет?
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
28.02.2014, 18:44  [ТС]
т.е тем решением что у меня не вариант его решить?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2014, 18:47
А у тебя не метод Ньютона, а неизвестная науке лабуда.
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
28.02.2014, 19:13  [ТС]
Puporev, один из корней эта лабуда нашла...но к сожалению этого оказалось мало...

Добавлено через 3 минуты
подскажите как ввести это уравнение в паскаль: (-1/x^2)+8*tg(2x)/cos^2(2x)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.02.2014, 19:35
Pascal
1
y:=-1/sqr(x)+8*sin(x)/cos(x)/sqr(cos(2*x));
0
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 26
28.02.2014, 20:21  [ТС]
Puporev, Спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2014, 20:21
Помогаю со студенческими работами здесь

Ошибка в коде - неправильно считает программа. Решение системы нелинейных уравнений методом Ньютона
Я по ссылке http://www.teh nari.ru/f41/t79111/ нашел код как пример (пост №2). Сделал по аналогии, только со своими функциями. Не понимаю в...

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

Ошибка в методе
Помогите найти ошибку Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) ПараметрыОпции=Новый...

Ошибка в методе
Здравствуйте, помогите найти ошибку. Есть класс: package prog; import javax.swing.JFrame; public class NewClass...

Ошибка в методе
Добрый день уважаемые форумчани! Дописываю дипломный проект, программа проверяет и копирует нужные файлы с сервера на клиентский...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru