SignalProcess.java
01 /*
02  * $Id: SignalProcess.java,v 1.13 2008/03/09 14:46:17 koga Exp $
03  *
04  * Copyright (C) 2004 Koga Laboratory. All rights reserved.
05  *
06  */
07 package matxbook.chap20;
08 
09 import java.io.IOException;
10 
11 import org.mklab.nfc.matrix.DoubleMatrix;
12 import org.mklab.tool.graph.gnuplot.Canvas;
13 import org.mklab.tool.graph.gnuplot.Gnuplot;
14 
15 
16 /**
17  * 信号データを生成するサンプルです。
18  @author koga
19  @version $Revision: 1.13 $, 2004/05/07
20  */
21 public class SignalProcess {
22 
23   /**
24    * メインメソッド
25    
26    @param args コマンドライン引数
27    @throws InterruptedException 強制終了された場合
28    @throws IOException gnuplotプロセスを起動できない場合
29    */
30   @SuppressWarnings("nls")
31   public static void main(String[] argsthrows InterruptedException, IOException {
32     DoubleMatrix t = DoubleMatrix.series(010.001);
33     DoubleMatrix y = (t.multiply(* Math.PI * 50)).sinElementWise().add((t.multiply(* Math.PI * 120)).sinElementWise().multiply(2));
34     DoubleMatrix yn = y.add(DoubleMatrix.normalRandom(y));
35     Gnuplot gnuplot = new Gnuplot();
36     Canvas canvas = gnuplot.createCanvas();
37     canvas.plot(t.getSubVector(150), yn.getSubVector(150)new String[] {"yn"});
38     Thread.sleep(10000);
39     gnuplot.close();
40   }
41 }