Tfn2tf.java
/*
* $Id: Tfn2tf.java,v 1.15 2008/03/25 01:12:40 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.control;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.scalar.DoubleRationalPolynomial;
/**
* 伝達関数(有理多項式)から伝達関数(係数からなる行列)に変換するクラスです。
*
* <p>Transfer function to transfer function conversion
*
* @author koga
* @version $Revision: 1.15 $
* @see org.mklab.tool.control.Tfn2tfm
* @see org.mklab.tool.control.Tfn2zp
* @see org.mklab.tool.control.Tfn2ss
* @see org.mklab.tool.control.Tf2tfn
*/
public class Tfn2tf {
/**
* 伝達関数が
*
* <pre><code> num(s) g(s) = ------ den(s) </code></pre>
*
* であるシステムの伝達関数の分子多項式の係数<code>num</code>と 分母多項式の係数<code>den</code>を求めます。
*
* @param g 伝達関数
* @return {num, den} (伝達関数の分子多項式の係数と分母多項式の係数) transfer function
*/
public static List<DoubleMatrix> tfn2tf(DoubleRationalPolynomial g) {
DoubleMatrix numerator = g.getNumerator().getCoefficients().flipLeftRight();
DoubleMatrix denominator = g.getDenominator().getCoefficients().flipLeftRight();
return new ArrayList<>(Arrays.asList(new DoubleMatrix[] {numerator, denominator}));
}
}