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

Нахождение корней полинома n-ой степени - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.81
Alx_t
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 3
22.05.2011, 15:59     Нахождение корней полинома n-ой степени #1
Помогите пожалуйста с написанием алгоритма для нахождения корней полинома n-ой степени. Может поможет кому- название алгоритмов для нахождения корней нелинейных уравнений:
  • метод хорд
  • метод дихотомии
  • метод Эйткена-Стеффенсона
  • метод итераций
  • метод Ньютона
  • метод Лобачевского
  • метод секущих
Не знаю как связать эти алгоритмы...ничего вроде не подходит. Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2011, 15:59     Нахождение корней полинома n-ой степени
Посмотрите здесь:

Нахождение корней квадратного уравнения C++
Нахождение корней уравнения C++
Нахождение корней уравнения C++
C++ Поиск корней (включая комплексные) полинома n-й степени
C++ нахождение корней квадратного уравнения
Нахождение корней методом Ньютона C++
Нахождение комплексных корней методом Ньютона C++
Нахождение корней уравнения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
22.05.2011, 16:00     Нахождение корней полинома n-ой степени #2
Наработки есть?
Alx_t
0 / 0 / 0
Регистрация: 22.05.2011
Сообщений: 3
22.05.2011, 16:03  [ТС]     Нахождение корней полинома n-ой степени #3
немного...сейчас закину.....
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define N  4
#define N1  N+1
#define Iterations  15
double a[N1]={24, -50, 35, -10, 1};
void main(void)
{
clrscr();
double r,b[N1],c[N1],g,bi,d;
int z,k;
printf("%f", a[0]);
for(int i=1;i<N1;i++) printf("%+fx^%d", a[i],i);
printf("=0\n\n");
for(i=0;i<N1;i++)
{
b[i]=a[i]/a[N];
c[i]=0;
}
r=1/2.0;
g=1;
for(int y=0;y<Iterations;y++)
{
z=1;
for(i=0;i<N1;i++)
{
bi=z*b[i];
k=(i+1)/2;
for(int j=i%2;j<N1;j+=2)
{c[k]+=bi*b[j];
k++;
}
z=-z;
}
d=z*c[N-1];
if(d>0)
{
g*=pow(d,r);
printf("%f\n",g);
for(i=0;i<N1;i++)
{
b[i]=c[i]/pow(d,N-i);
c[i]=0;
}
b[N-1]=z;
b[N]=-z;
}
else
{
for(i=0;i<N1;i++)
{
b[i]=c[i];
c[i]=0;
}
printf("no iteration (can't calculate root from negative number)\n");
}
r/=2.0;
}
getch();
scanf("%d", z);
}
но тут уже задан полином внутри.... а мне надо любой) + любые коэффициенты)

 Комментарий модератора 
Используйте теги форматирования кода!
Yandex
Объявления
22.05.2011, 16:03     Нахождение корней полинома n-ой степени
Ответ Создать тему
Опции темы

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