|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.11.2012, 17:20 | #1 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Метод пассивного поиска
Подскажите, пожалуйста, почему неправильно находятся точка минимума и наименьшее значение функции.
double func(double x) { double y; y=(x-131)/(x-1)+5* fabs(x-6); return y; } int main(int argc, char* argv[]) { const int N=26; int i, imin; double a=2.0,b=7.0, xPmin, yPmin; double x1, x2, y1, y2, x[N+2], y[N+2]; printf ("Method passivnogo poiska:\n"); const double d=0.1; x[0]=a; x[27]=b; for (int j=1; j<=N; j++) { if ((j%2)==0) x[j]=a+(((b-a)*(j/2))/(k+1)); else x[j]=x[j+1]-d; } for (int i=1; i<=N; i++) y[i]=func(x[i]); yPmin=y[1]; for (i=1; i<=N; i++) { if (y[i]<=yPmin) { yPmin=y[i]; imin=i; } } xPmin=(x[imin-1]+x[imin+1])/2; printf("Tochka minimuma: %f\nNaim. znacheniye f: %f\n", xPmin,func(xPmin)); getch(); return 0; }
There are 10 types of people: those who understand binary and those who don't.
|
01.11.2012, 17:35 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
0) Оформляйте код тегом CODE, пожалуйста.
1) Поиск места объявления переменной k результата не принёс. Так что лично у меня эта программа не то что неправильно работает, а совсем не работает. |
02.11.2012, 06:32 | #3 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Да, просто в моей проге несколько методов, а сюда я ее частями копировала и забыла, что в пассивном поиске использую переменную k Исправила. Теперь запустится, но значение неправильно считает.
Код:
There are 10 types of people: those who understand binary and those who don't.
|
02.11.2012, 10:35 | #4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
2) На первой же итерации первого цикла производится обращение к x[2]. Но значение x[2] до этого не было инициализировано, там находится произвольный мусор.
|
02.11.2012, 19:10 | #5 |
Пользователь
Регистрация: 09.10.2012
Сообщений: 47
|
Точно! Косяк. Спасибо))
There are 10 types of people: those who understand binary and those who don't.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод перебора, Метод дихотомии, Метод золотого сечения Delphi !!! | OneBri | Помощь студентам | 0 | 03.10.2012 08:42 |
Метод бинарного поиска | Ксения Юрьевна | Помощь студентам | 10 | 16.06.2012 19:18 |
Метод поиска в открытом и закрытом хешировании | dizelxxx | Общие вопросы C/C++ | 0 | 01.04.2011 12:04 |
Java ME Рекурсивный метод поиска в подпапках | Клык | Помощь студентам | 0 | 31.07.2009 16:06 |