Zp2tfm.java
/*
* $Id: Zp2tfm.java,v 1.12 2008/03/25 01:12:40 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.control;
import java.util.List;
import org.mklab.nfc.matrix.DoubleComplexMatrix;
import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.matrix.DoubleRationalPolynomialMatrix;
/**
* 極とゼロ点の集合から伝達関数行列(有理多項式行列)に変換するクラスです。
*
* <p>Zero-pole to transfer function matrix conversion
*
* @author koga
* @version $Revision: 1.12 $
* @see org.mklab.tool.control.Zp2tf
* @see org.mklab.tool.control.Zp2tfn
* @see org.mklab.tool.control.Zp2ss
* @see org.mklab.tool.control.Tfm2zp
*/
public class Zp2tfm {
/**
* 極<code>p</code>、ゼロ点<code>z</code>,ゲイン<code>k</code>である1入力多出力システム
*
* <pre><code> (s-z1)(s-z2)...(s-zn) G(s) = k --------------------- (s-p1)(s-p2)...(s-pn) </code></pre>
*
* の伝達関数行列を返します。
*
* @param zeros ゼロ点の集合
* @param poles 極の集合
* @param k ゲイン
* @return 伝達関数行列 (transfer function matrix)
*/
public static DoubleRationalPolynomialMatrix zp2tfm(DoubleComplexMatrix zeros, DoubleComplexMatrix poles, DoubleMatrix k) {
List<DoubleMatrix> ans = Zp2tf.zp2tf(zeros, poles, k);
DoubleMatrix NUM = ans.get(0);
DoubleMatrix den = ans.get(1);
return Tf2tfm.tf2tfm(NUM, den);
}
}