Tfm2tf.java
/*
* $Id: Tfm2tf.java,v 1.11 2008/03/24 23:45:43 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.control;
import java.util.List;
import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.matrix.DoubleRationalPolynomialMatrix;
/**
* 伝達関数行列(有理多項式行列)から伝達関数(係数からなる行列)に変換するクラスです。
*
* <p>Transfer function matrix to transfer function conversion
*
* @author koga
* @version $Revision: 1.11 $
* @see org.mklab.tool.control.Tfm2ss
* @see org.mklab.tool.control.Tfm2zp
* @see org.mklab.tool.control.Tfm2tfn
* @see org.mklab.tool.control.Tf2tfm
*/
public class Tfm2tf {
/**
* @param G 伝達関数行列
* @return 伝達関数 (transfer function)
*/
public static List<DoubleMatrix> tfm2tf(DoubleRationalPolynomialMatrix G) {
int inputNumber = 1;
return tfm2tf(G, inputNumber);
}
/**
* 伝達関数行列が
*
* <pre><code> NUM(s) G(s) = -------- den(s) </code></pre>
*
* であるシステムの<code>i</code>番目の入力から出力までのシステムの 伝達関数の分子行列多項式の係数行列<code>NUM</code>と分母多項式の係数 <code>den</code>を求めます。
*
* @param G 伝達関数行列
* @param inputNumber 入力番号
* @return 伝達関数 (transfer function)
*/
public static List<DoubleMatrix> tfm2tf(DoubleRationalPolynomialMatrix G, int inputNumber) {
List<DoubleMatrix> tmp = Tfm2ss.tfm2ss(G, inputNumber);
DoubleMatrix A = tmp.get(0);
DoubleMatrix B = tmp.get(1);
DoubleMatrix C = tmp.get(2);
DoubleMatrix D = tmp.get(3);
return Ss2tf.ss2tf(A, B, C, D, inputNumber);
}
}