MotorStep.java

/*
 * Created on 2011/07/20
 * Copyright (C) 2011 Koga Laboratory. All rights reserved.
 *
 */
package org.mklab.tool.control.model.matxbook.composite;


import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.tool.control.model.matxbook.Motor;
import org.mklab.tool.control.system.DoubleSystemBuilder;
import org.mklab.tool.control.system.DoubleSystemOperator;
import org.mklab.tool.control.system.source.DoubleStepSource;


/**
 * ステップ入力のモーターシステムを生成するクラスです。
 * 
 * @author koga
 * @version $Revision$, 2011/07/20
 */
public class MotorStep {

  /**
   * ステップ入力のモーターシステムを返します。
   * 
   * @return ステップ入力のモーターシステム
   */
  public DoubleSystemOperator getSystem() {
    // モーター
    Motor motorSystem = new Motor();
    DoubleMatrix initialState = new DoubleMatrix(2, 1);
    motorSystem.setInitialState(initialState);
    DoubleSystemBuilder motor = new DoubleSystemBuilder(motorSystem);

    // ステップ入力
    DoubleStepSource stepSystem = new DoubleStepSource();
    DoubleSystemBuilder step = new DoubleSystemBuilder(stepSystem);

    DoubleSystemBuilder all = motor.multiply(step);
    return all.getSystemOperator();
  }
}