本文整理汇总了C++中Simplex::size方法的典型用法代码示例。如果您正苦于以下问题:C++ Simplex::size方法的具体用法?C++ Simplex::size怎么用?C++ Simplex::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Simplex
的用法示例。
在下文中一共展示了Simplex::size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_oja_and_gradient
void OjaData::get_oja_and_gradient(const Point& x,double& oja
,Point& grad) const
{
errif(x.dim() != dim(),"OjaData::get_oja_and_gradient: point " << x
<< " has illegal dimension");
if(plane)
{
plane->oja_and_gradient(x,oja,grad);
return;
}
double sum = 0.0;
double sgn;
double k = 1.0 / double(fact(dim()));
Simplex S;
Point Gr(dim());
for(Index I(dim(),size()); I; I++)
{
S.get(*this,I,x);
sum += S.size();
sgn = S.sign();
for(int j=0; j<dim(); j++)
Gr[j] += S.row_cof(j+1) * sgn * k;
}
oja = sum;
grad = Gr;
}
示例2: oja
double OjaData::oja(const Point& x) const
{
if (size() == 0) return -1;
errif(x.dim() != dim(),"OjaData::oja: Illegal dimension on point " << x);
if(plane)
return plane->oja(x);
double sum = 0.0;
Simplex S;
for(Index I(dim(),size()); I; I++)
{
S.get(*this,I,x);
sum += S.size();
}
return sum;
}