![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Tinysik |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
подскажите кто знает.
![]() необходимо решить пример x^3+2x^2+3x+5=0 задав точность e=0,001 вот код программы: #include <iostream.h> #include <math.h> double Nuton(double*p,int n,double*x,double X) { double s=p[n-1]; for(int i=n-2;i>=0;i--) s=p[i]+(X-x[i])*s; return s; } void Nuton1(double*x,double*y,int n,double*p) { for(int j=0;j<n-1;j++) { p[j]=(y[j+1]-y[j])/(x[j+1]-x[j]); // cout<<p[j]<<"\t"; } // cout<<"\n"; int m=n-1; int l=2; int k; for(int i=n-2;i>=1;i--) { k=0; for(j=1;j<=i;j++) { p[m]=(p[m-i]-p[m-i-1])/(x[k+l]-x[k]); // cout<<p[m]<<"\t"; m++; k++; } // cout<<"\n"; l++; } j=0; for(i=1;i<n;i++) { y[i]=p[j]; j=j+(n-i); } } void main() { int const n=5,N=(n-1)*n/2; double x[]={1,2,3,4}; double y[n]; for(int i=0; i<n; i++) y[i]=pow(x[i],3)+2*pow(x[i],2)+3*x[i]+5; double *p=new double[N]; Nuton1(x,y,n,p); //for (i=0;i<n;i++) cout<<y[i]<<'\t'; double z=-2; cout<<Nuton(y,n,x,z)<<'\t'<<pow(z,3)+2*pow(z,2)+3*z+5<<'\n'; } программа все считает,но в коде нужно прописать эту точность е=0,001. как это сделать? |
|||
|
||||
bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
Тебе надо считать разницу между предидушим решением и текущим и когда она будет меньше заданной точности (в товем случае 0.001) - решение найдено.
-------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
совсем необязательно последовательность может и медленно сходиться для начала нужно определиться, какая точность имеется в виду 1. точность равенства функции нулю - тогда просто сравниваем модуль значения полинома с точностью 2. точность решения: тут нужно попробовать оценить расстояние до настоящего решения во втором слуаче нужно детальнее изучать функцию -------------------- qqq |
|||
|
||||
Tinysik |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.12.2007 Репутация: нет Всего: нет |
эййй..ну вы чего? все не так сложно.
просто код расчитан был как тестовый. я подставила туда пример. теперь только необходимо,чтобы он считался с заданной точностью |
|||
|
||||
bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
Ну теперь напиши другой код Если сегодня будет время напишу. -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
Ziggyrat |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 11.4.2009 Где: Омск Репутация: нет Всего: нет |
Это сообщение отредактировал(а) Ziggyrat - 11.4.2009, 19:00 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |