Linspace.java
/*
* $Id: Linspace.java,v 1.10 2008/03/15 00:23:40 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.matrix;
import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.matrix.NumericalMatrix;
import org.mklab.nfc.matrix.misc.LinearlySpacedVector;
import org.mklab.nfc.scalar.NumericalScalar;
/**
* 等間隔で分割されたデータ列を求めるクラスです。
*
* <p> Linearly spaced array
*
* @author koga
* @version $Revision: 1.10 $
* @see org.mklab.tool.matrix.Logspace
*/
public class Linspace {
/**
* <code>x1</code>と<code>x2</code>の間を<code>100</code> 等分した点を成分にもつベクトルを返します。
*
* @param x1 始点
* @param x2 終点
* @return 等間隔で分割されたデータ列 (linearly spaced array)
*/
public static DoubleMatrix linspace(double x1, double x2) {
return linspace(x1, x2, 100);
}
/**
* <code>x1</code>と<code>x2</code>の間を<code>100</code> 等分した点を成分にもつベクトルを返します。
* @param <S> スカラーの型
* @param <M> 行列の型
*
* @param x1 始点
* @param x2 終点
* @return 等間隔で分割されたデータ列 (linearly spaced array)
*/
public static <S extends NumericalScalar<S,M>, M extends NumericalMatrix<S,M>> M linspace(S x1, S x2) {
return linspace(x1, x2, 100);
}
/**
* <code>x1</code>と<code>x2</code>の間を <code>n</code>等分した点を成分にもつベクトルを返します。
*
* @param x1 始点
* @param x2 終点
* @param splitSize 分割数
* @return 等間隔で分割されたデータ列 (linearly spaced array)
*/
public static DoubleMatrix linspace(double x1, double x2, int splitSize) {
return LinearlySpacedVector.create(x1, x2, splitSize);
}
/**
* <code>x1</code>と<code>x2</code>の間を <code>n</code>等分した点を成分にもつベクトルを返します。
* @param <S> スカラーの型
* @param <M> 行列の型
*
* @param x1 始点
* @param x2 終点
* @param splitSize 分割数
* @return 等間隔で分割されたデータ列 (linearly spaced array)
*/
public static <S extends NumericalScalar<S,M>, M extends NumericalMatrix<S,M>> M linspace(S x1, S x2, int splitSize) {
return LinearlySpacedVector.create(x1, x2, splitSize);
}
}