|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.04.2013, 15:48 | #1 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Метод наискорейшего спуска в 3D(виснет программа)
Здравствуйте. Почему-то не загружается, вернее виснет программа по нахождению экстремума функции. Сама программа и источник, из которого я её позаимствовал, прикреплены ниже. Помогите, пожалуйста.
|
17.04.2013, 16:09 | #2 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Залей сюда код, где подвисает.
Если помог, проси поставить минус. Будь оригинален!
|
17.04.2013, 19:30 | #3 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Без этого куска кода,все более менее работает, но мне необходимо,что бы программа отображала графически изменение точек=(
Код:
|
17.04.2013, 23:19 | #4 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Скачал проект. В суть алгоритма не вникал, скажу сразу, что h изначально получает значение "0", так что цикл
Код:
Код:
Код:
Почему же таки виснет прога спросишь Ты меня? Ёсик ответит Тебе. Из-за цикла, который вставлен в FormPaint. А метод FormPaint вызывается тогда, когда нужно нарисовать наше окно. ТО есть мы нажимаем "Compile", и вызовутся методы: Код:
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 17.04.2013 в 23:25. |
18.04.2013, 08:10 | #5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Даже беглого взгляда на код достаточно, чтобы понять, что написан он безграмотно, и пользоваться им - себе дороже.
Нельзя брать такой код за основу своего проекта: и проблем с ним не оберетесь, и программировать как следует не научитесь. |
18.04.2013, 10:29 | #6 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
А как по-другому вывести изменение точек на график?
|
18.04.2013, 13:34 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
"По-другому" по сравнению с чем?
|
18.04.2013, 14:13 | #8 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
нужно просто решить задачу нахождения минимума/максимума функции одним из методов оптимизации, при этом на графике изобразить переход точек.
|
18.04.2013, 21:26 | #9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
И в чем именно состоит проблема?
|
19.04.2013, 01:43 | #10 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Короче, заводишь булевую переменную(флаг), которая отвечает за разрешение начала рисования. В FormPaint в самом начале проверяешь чему равен флаг: false - на выход, true - погнали считать.
Флагу присваивается значение true, если нажали на кнопку "Расчет". При этом нужно проверить, введены ли все входные значения и введены ли они верно. Введут "Маша", а нам Маша и не нужна для расчетов, нам число нужно! Вместо "." поставят "," в Edite и вылетит ошибка "Что-то ни фига не вещественное число вы ввели", да ещё и на английском. Так же проверяй значения, которые используются в циклах с условием, а то получится, что h=0, и та же песня с зависанием. Если в программе используется деление, да ещё и в цикле, то может возникнуть ситуация деления на ноль. Так что все проверки на правильность введения сделай до того, как флагу присвоить true. Флагу присваивается значение false, если начинают вводить новые значения в любое поле. А на счет этикета программирования можешь где-нибудь почитать сам.
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 19.04.2013 в 01:44. Причина: Punto Switcher |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Метод наискорейшего спуска | RocBoy-D | Помощь студентам | 0 | 26.03.2013 18:05 |
Метод наискорейшего спуска | Михаил77 | Помощь студентам | 0 | 17.12.2012 18:36 |
Методы оптимизации: метод Ньютона и метод наискорейшего спуска | ruslanGacurap | Помощь студентам | 0 | 30.01.2012 13:54 |
Метод наискорейшего спуска | Михаил1800 | Помощь студентам | 1 | 19.07.2011 13:30 |
Алгоритм наискорейшего спуска для любого количества аргументов целевой функции | Evil Sun | Общие вопросы C/C++ | 5 | 08.05.2009 13:18 |