IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Избавление от Boost'a.
Krjuger
сообщение 10.11.2011 21:50
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Уже более практическая часть проблемы.
Есть работающий код с использованием буста.Нужно избавитьс от буста и сохранить работоспособность.
У меня появилась проблема.

vector<double> p(spaceSize);
Negate(GradF(x),p);

void Negate(vector<double> x, vector<double> y)
{
for ( int i=0; i<x.size() ; i++)
y[i]=-x[i];
}


В Negate первый параметр подается правильно, в самом Negate y присваивается правильно,но на выходе p как было нулевым вектором, так и осталось.

Суть в том,что есть градиент некоторой функции,например.

vector<double> GradF1(vector<double> x)
{
vector<double> res(x.size() );
res[0] = 2 * (x[0] - 5) * ( (x[1] - 4) * (x[1] - 4) + 1);
res[1] = 2 * (x[1] - 4) * ( (x[0] - 5) * (x[0] - 5) + 1);
return res;
}

Мне надо переписать отричательный градиент в другую переменную.Размерности совпадают ,тут проблем нет.

А теперь самое главное,если я меняю

vector<double> Negate(vector<double> x)
{
vector<double> res(x.size() );
for ( int i=0; i<x.size() ; i++)
res[i]=-x[i];
return res;
}
.......

for (int i=0;i<x.size();i++)
p[i]=Negate(GradF(x))[i];



То все нормально,и опять таки,если я делаю процедуру Copy

void Copy(vector<double> x, vector<double> y)
{
for ( int i=0; i<x.size() ; i++)
y[i]=x[i];
}


И вызываю ее, как Copy(Negate(GradF(x)),p); то опять таки нифига не работает.Да и, исправив все на циклы в коде, в результате я получил абсолютно идентичный результат,что и с использованием Буста, но данное поведение меня просто убило.В Билдере тоже самое, но он хотябы мне сообщил о делении на ноль,а VS так кушал))

Сообщение отредактировано: Krjuger - 10.11.2011 22:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Krjuger
сообщение 10.11.2011 23:23
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

Репутация: -  20  +


Ну мне то врать незачем)))))VS говорит фиг вам))

Могу даже в ЛС сам файл скинуть, полностью светить не хочу,курсовая как никак.

Сообщение отредактировано: Krjuger - 10.11.2011 23:27


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 30.07.2025 21:34
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"