Форум программистов, компьютерный форум CyberForum.ru

Метод Ньютона+Половинного деления! - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 5.00
Джирайя
3 / 3 / 0
Регистрация: 20.04.2010
Сообщений: 64
14.09.2010, 00:39     Метод Ньютона+Половинного деления! #1
Добрый вечер! Незнаю как тут обстоят дела с вычислительными методами, но надеюсь ктото сможет помочь)
По заданию курсового, надо написать комбинированный метод Ньютона(косательных) и Половинного деления, и сравнить его производительность с каждым методом по отдельности...
Методы по отдельнотси я сделал... а вот скомбинировать их никак не получается... да еше и чтобы производительности (n) была ниже чем по отдельности... уже весь инет излазил...
Может ктото сможет помочь сделать этот комбинированный метод, или алгорит, или какую-нить ссылку на информацию о этом комбо методе) вобщем буду благодарен за любую полезную информацию)
Вот то что я написал:
C++
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>
 
double f(double x)
{
   return cos(x)-x*x*x;
}
 
double f1(double x)
{
   return -sin(x)-3*x*x;
}
 
 
double Del2(double a, double b, double eps) {
  double x,y,y1;
  int n=0;
  do {
     x=a;
     y=f(x); n++;
     x = (a + b ) / 2;
     y1=f(x); n++;
 
     if ((y*y1)<=0)  b=x;
    else   a=x;
 
 
  }  while( fabs(b-a)>eps);
 
  cout<<"Koren' uravnenia= "<<x<<";   Xodov: "<<n<<";   Pogreshnoct': "<<eps<<"\n\n";
  return x;
}
 
 
double Newton(double x, double eps) {
  double t;
  int n=0;
  do {
 
     t = f(x)/f1(x);
     x -=t;
     n+=2;
  }  while (fabs(t) > eps);
 
  cout<<"Koren' uravnenia= "<<x<<";   Xodov: "<<n<<";   Pogreshnoct': "<<eps<<"\n\n";
  return x;
}
 
//-----------------------------------------------------------------
int main() {
  clrscr();
  double a=-10,b=10,eps=0.0001;
 
 
  cout<<"\n METOD DELENIA HA 2:\n";
  Del2(a,b,eps);
 
  cout<< "\n METOD KASATELNIH:\n";
  Newton(b,eps);
 
  getch();
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2010, 00:39     Метод Ньютона+Половинного деления!
Посмотрите здесь:

Метод половинного деления. C++
C++ Метод половинного деления.
C++ Метод половинного деления в си++
Метод половинного деления C++
C++ Метод половинного деления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.09.2010, 11:24     Метод Ньютона+Половинного деления! #2
Если у вас курсовик по вычмату, то у вас этот предмет явно был, и вы должны были проходить как методы, так и их комбинации... Помню, что метод касательных комбинируется с методом хорд, но вот как объединить бисекцию с касательными, что-то не соображу... Возможно, вы это проходили, вы либо не помните этого, либо прогуляли...
Джирайя
3 / 3 / 0
Регистрация: 20.04.2010
Сообщений: 64
14.09.2010, 11:57  [ТС]     Метод Ньютона+Половинного деления! #3
На эту тему была посвещена 1 лекция, где рассказалось только о каждом методе по отдельности!
Джирайя
3 / 3 / 0
Регистрация: 20.04.2010
Сообщений: 64
15.09.2010, 21:47  [ТС]     Метод Ньютона+Половинного деления! #4
Неужели никто не сталкивался с этим?
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 810
20.09.2010, 16:24     Метод Ньютона+Половинного деления! #5
Найти корень уравнения на заданном интервале {a,b} с точностью эпсилом=0,00001
(x-1)^2-0,5 e^x=0
интервал {-0,2;0,3}
надо и в паскале и так решить уравнения,помогите пожалуйста
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.09.2010, 16:34     Метод Ньютона+Половинного деления! #6
zmei89,
"так" - это как? На бумажке? Тогда какое отношение ваш пост имеет к Си/Си++ и этой теме конкретно?
Yandex
Объявления
20.09.2010, 16:34     Метод Ньютона+Половинного деления!
Ответ Создать тему
Опции темы

Текущее время: 04:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru