⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vertex.java

📁 Conjugate Gradient Method
💻 JAVA
字号:

public class Vertex
{
  public double coord[];
  public int dim;
  public double val;

  public Vertex( int d )
  {
    dim = d;
    coord = new double[dim];
  }
  public Vertex( double x[] )
  {
    dim = x.length;
    coord = x;
  }
  public Vertex copy()
  {
    double c[] = new double[dim];
    int i;
    for( i = 0; i < dim; i++ )
      c[i] = coord[i];
    Vertex nv = new Vertex( c );
    nv.val = val;
    return nv;
  }

  public Vertex combine( double ownt, Vertex v )
  {
    if( v.dim != dim )
      return null;

    int i;
    double othert = 1.0 - ownt;

    Vertex nv = new Vertex( dim );
    for( i = 0; i < dim; i++ )
      nv.coord[i] = coord[i] * ownt + v.coord[i] * othert;
    return nv;
  }

  public Vertex sub( Vertex v )
  {
    if( v.dim != dim )
      return null;

    int i;

    Vertex nv = new Vertex( dim );
    for( i = 0; i < dim; i++ )
      nv.coord[i] = coord[i] - v.coord[i];
    return nv;
  }

  public Vertex add( Vertex v )
  {
    if( v.dim != dim )
      return null;

    int i;

    Vertex nv = new Vertex( dim );
    for( i = 0; i < dim; i++ )
      nv.coord[i] = coord[i] + v.coord[i];
    return nv;
  }

  public double distanceTo( Vertex v )
  {
    int i;
    double s, d;

    s = 0.0;
    for( i = 0; i < dim; i++ ) {
      d = coord[i] - v.coord[i];
      s += d * d;
    }
    return Math.sqrt( s );
  }

  public String toString()
  {
    int i;
    String txt = new String( "(" );
    for( i = 0; i < dim; i++ ) {
      if( i > 0 )
        txt += ",";
      txt += " " + coord[i];
    }
    txt += " )";
    return txt;
  }

  public static double getDiameter( Vertex V[] )
  {
    int i, j;
    double d, dmax;

    dmax = 0.0;
    int m = V.length;
    if( m <= 1 )
      return 0.0;
    for( i = 0; i < m; i++ )
      for( j = i + 1; j < m; j ++ ) {
        d = V[i].distanceTo( V[j] );
        if( dmax < d )
          dmax = d;
      }

    return dmax;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -