⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paa.java

📁 这是个时间序列分段处理的程序
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   PAA.java

package timeseries;


// Referenced classes of package timeseries:
//            TimeSeries, TimeSeriesPoint

public class PAA extends TimeSeries
{

    private int aggPtSize[];
    private final int originalLength;

    public PAA(TimeSeries ts, int shrunkSize)
    {
        if(shrunkSize > ts.size())
            throw new InternalError("ERROR:  The size of an aggregate representation may not be largerr than the \noriginal time series (shrunkSize=" + shrunkSize + " , origSize=" + ts.size() + ").");
        if(shrunkSize <= 0)
            throw new InternalError("ERROR:  The size of an aggregate representation must be greater than zero and \nno larger than the original time series.");
        originalLength = ts.size();
        aggPtSize = new int[shrunkSize];
        super.setMaxCapacity(shrunkSize);
        setLabels(ts.getLabels());
        double reducedPtSize = (double)ts.size() / (double)shrunkSize;
        int ptToReadTo;
        for(int ptToReadFrom = 0; ptToReadFrom < ts.size(); ptToReadFrom = ptToReadTo + 1)
        {
            ptToReadTo = (int)Math.round(reducedPtSize * (double)(size() + 1)) - 1;
            int ptsToRead = (ptToReadTo - ptToReadFrom) + 1;
            double timeSum = 0.0D;
            double measurementSums[] = new double[ts.numOfDimensions()];
            for(int pt = ptToReadFrom; pt <= ptToReadTo; pt++)
            {
                double currentPoint[] = ts.getMeasurementVector(pt);
                timeSum += ts.getTimeAtNthPoint(pt);
                for(int dim = 0; dim < ts.numOfDimensions(); dim++)
                    measurementSums[dim] += currentPoint[dim];

            }

            timeSum /= ptsToRead;
            for(int dim = 0; dim < ts.numOfDimensions(); dim++)
                measurementSums[dim] = measurementSums[dim] / (double)ptsToRead;

            aggPtSize[super.size()] = ptsToRead;
            addLast(timeSum, new TimeSeriesPoint(measurementSums));
        }

    }

    public int originalSize()
    {
        return originalLength;
    }

    public int aggregatePtSize(int ptIndex)
    {
        return aggPtSize[ptIndex];
    }

    public String toString()
    {
        return "(" + originalLength + " point time series represented as " + size() + " points)\n" + super.toString();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -