由于离散数学的实践安排,需要学着用java编写程序进行图形的输出,题目如下:
考虑x(t)=-2tsin(t2),0≤t≤8,从0开始,以△t=0.01、0.02、0.04、0.08、0.1、0.25、0.5、1为间隔,分别绘制x(t)的离散时间信号。每个离散样本点用’*’显示,程序采用JAVA或C语言实现(可采用第三方库函数)。对于每个△t,观察连续时间信号信息损失的情况,编制程序。
观察题目要求
题目需要在不同的Δt时表现不同的函数图像,首先要画出基本函数图形。
图形的绘制
先要会用第三方包jfree,安装地址。
安装并且导入到在eclipse中建立的项目后便可以开始着手编程了。
jfree的一些接口方法的使用
1 | XYSeries series = new XYSeries("xySeries");//创建XYSeries对象 |
图像显示设置
1
2
3
4
5
6
7
8
9
10
11
12
13 JFreeChart chart = ChartFactory.createXYLineChart(
"Δt="+t, // 图像名
"x", // x 轴名
"x(t)", // y 轴名
dataset // data
); //新建对象 调用构造函数
XYPlot plot = (XYPlot)chart.getPlot();
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
renderer.setSeriesLinesVisible(0, false);// 设置连线不可见
plot.setRenderer(renderer); ////将修改后的属性值保存到图中
ChartFrame frame = new ChartFrame("my picture", chart);
frame.pack();//设置窗体最佳大小
frame.setVisible(true);//设置可见
补充
按照题目可设置简单的输入,方便形成不同数值的Δt所构成的图形。
参考API
XYSeries类,它代表了在所述形式的零个或多个数据项(x,y)的序列。默认情况下,该系列中的数据项都按升序排列由x值,并重复允许的x值。无论是排序和复制缺省值可以在构造函数中被改变。 Y值可以表示为空值代表缺失值。
XYSeriesCollection类有类似父类AbstractIntervelDataset,AbstractXYDatset,AbstractSeriesDataset和AbstractDataset。一些在这个类中的方法属于这个类的父类。
具体API请见:JFreeChart参考API
构造方法 | 构造方法内容 |
---|---|
XYSeries(java.lang.Comparable key) | 该构造函数创建一个新的空系列。 |
XYSeriesCollection(XYSeries xyseries) | 它构建了一个数据集,并用一个系列的填充 |