import edu.princeton.cs.algs4.StdDraw;
public class Main {
public static void main(String[] args) {
StdDraw.setXscale(-5, 5);
StdDraw.setYscale(-1, 1);
StdDraw.setPenRadius(0.005);
for (double x = -5.0; x <= 5.0; x += 0.01) {
double y = Math.exp(-x) * Math.sin(x);
StdDraw.point(x, y);
}
}
}
基于new bing的编写:
import edu.princeton.cs.algs4.StdDraw;
import java.lang.Math;
public class FunctionPlot {
public static void main(String[] args) {
// 设置画布大小
StdDraw.setCanvasSize(800, 600);
// 将坐标系的原点移动到画布中心
StdDraw.setXscale(-5, 5);
StdDraw.setYscale(-1.5, 1.5);
// 绘制曲线
int n = 1000; // 点数
double[] x = new double[n+1];
double[] y = new double[n+1];
for (int i = 0; i <= n; i++) {
// 计算每个点的x和y
x[i] = -5 + (double)i / n * 10;
y[i] = Math.exp(-x[i]) * Math.sin(x[i]);
}
// 绘制曲线
StdDraw.setPenColor(StdDraw.RED);
for (int i = 0; i < n; i++) {
StdDraw.line(x[i], y[i], x[i+1], y[i+1]);
}
// 显示图像
StdDraw.show();
}
}