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[] args) throws InterruptedException, IOException {
32 DoubleMatrix t = DoubleMatrix.series(0, 1, 0.001);
33 DoubleMatrix y = (t.multiply(2 * Math.PI * 50)).sinElementWise().add((t.multiply(2 * 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(1, 50), yn.getSubVector(1, 50), new String[] {"yn"});
38 Thread.sleep(10000);
39 gnuplot.close();
40 }
41 }
|