如何在java中用正弦波制作方波?

时间:2015-02-21 02:31:22

标签: java math

int[]x = new int[1000];
int[]y = new int[1000];
for (int i=0; i<1000; i++)
{
 x[i] = i+50;
 y[i] = 350+(int)(text1*Math.sin(i*text2));

}

g.setColor( Color.black);

Graphics2D g2 = (Graphics2D)g;

g2.setStroke(new Basic Stroke(text));
g2.drawPolyline(x,y,1000);
super.paint(g);panel 2. paint Components(g);

这是正弦波的代码,我该怎么做才能使这波成为方波?感谢

2 个答案:

答案 0 :(得分:1)

要将正弦波转换为方波,请取sin的{​​{3}}。

double    sinPoint = Math.sin( i * text2 );
double squarePoint = Math.signum( sinPoint );
y[i] = 350 + (int)( text1 * squarePoint );

signum中提到了这一点。

答案 1 :(得分:0)

简单的方法是花一段时间来'T'

然后计算为i变量运行循环然后执行i%T&lt; T / 2然后y轴的值是1,否则它将是-1