C++相談室 part77
■ このスレッドは過去ログ倉庫に格納されています
0287202
2010/02/01(月) 13:37:52まったくと言っていいほどいじれていませんが…
#include <iostream>
#include <vector.h>
struct center{
double x,y; //2次元の場合。N次元ならどうデータを持つか
int delta; //探索する幅(1/3) };
struct evector{ double vx,vy;};//単位ベクトル
struct vector<evector> make_evector(int dimension);//次元の数だけ単位ベクトルを生成
//中心と単位ベクトルを与えて次の中心点を計算
int update(center& delta,vector<evector>& vx){
double min_value;
double eps=0;
double val=f(center);
for(/*2^(単位ベクトル数)分ループ、2次元なら4方向)*/){
if(min_value>f(center+evector)){
min_value=f(center);
//この時のベクトル,仮にvxを保存
}
}
//保存したのベクトルの方向へ中心を移動
center.x+=(1/3)*vx.x;
center.y+=(1/3)*vy.y;
eps=f(center)-val;
return eps;
}
int main(){/* 保留 * /while(0.0001>update(center,vec)){}} //1.0*10^(-4)が経験則
■ このスレッドは過去ログ倉庫に格納されています