亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? increasing.java

?? 用于multivariate時(shí)間序列分類
?? JAVA
字號(hào):
/**  * First attempt to look at difference signal. LocalMax and Min will  * proboably be rewritten after this.   *   * @author Waleed Kadous  * @version $Id: Increasing.java,v 1.1.1.1 2002/06/28 07:36:16 waleed Exp $  */package tclass.pep;   import tclass.*; import tclass.util.*; public class Increasing implements PepI {    static final String name = "inc";     static final String description = "Finds period of increase.";     private DomDesc domDesc = null;     private int chanIndex;     private int noiseIgnore = 1;     private int minDurn = 3;     private int smoothSize = 1;     private boolean useRelativeTime = false;     private boolean useRelativeHeight = false; // Compute heights + values relative    // to the global mean.     private float offset = 0; // this is used as a hack.     /**      * Gets the name of the PEP. Used by the prototype manager      * as a key.      *     * @return A key representing this particular PepPT     */     public String name(){        return name;     }    /**     * Clone the current object.      *     */     public Object clone()    {        try {            return super.clone();         }        catch (CloneNotSupportedException e){            // Can't happen, or so the java programming book says            throw new InternalError(e.toString());         }    }    /**     * Set the domain description     */         public void setDomDesc(DomDesc d){        domDesc = d;     }        /**      * Provides a description of the PepI. This description explains     * what the basic idea of the PEP is (i.e. the sort of shapes it     * tried to find). It should also explain any potential     * configuration options that may     * be used to configure the object, using the configure option.      *      * @return The description of this class.      */     public String description(){         return description;     }    /**     * Configures this instance so that parameter <i>p</i> has     * value <i>v</i>.      *     * @param p the parameter to set.      * @param v the value of the parameter.      * @return true if the operation succeeded.      *     */    public void setParam(String p, String v) throws InvalidParameterException {        if(p.equals("noise")){            try {                noiseIgnore = Integer.parseInt(v);                    }            catch(NumberFormatException ne){                throw new InvalidParameterException(p, v, v + " must be an integer.");             }        }        else if(p.equals("mindurn")){            try {                minDurn = Integer.parseInt(v);                    }            catch(NumberFormatException ne){                throw new InvalidParameterException(p, v, v + " must be an integer.");             }        }        else if(p.equals("channel")){            // So they want us to do max on a channel.             // Any channel will do, provided it exists.             chanIndex = domDesc.getChanIndex(v);             if(chanIndex == -1){                throw new InvalidParameterException(p, v, "Unknown channel " + v);             }        }        else if(p.equals("smoothSize")){            try {                smoothSize = Integer.parseInt(v);             }            catch(NumberFormatException ne){                throw new InvalidParameterException(p, v, v + " must be an integer.");             }        }        else if(p.equals("useRelativeTime")){            if(v.equals("true")){                useRelativeTime = true;             }            else if(v.equals("false")){                useRelativeTime = false;             }            else {                throw new InvalidParameterException(p, v, v + " must be true or false.");             }        }        else if(p.equals("useRelativeHeight")){            if(v.equals("true")){                useRelativeHeight = true;             }            else if(v.equals("false")){                useRelativeHeight = false;             }            else {                throw new InvalidParameterException(p, v, v + " must be true or false.");             }        }        else {            throw new InvalidParameterException(p, v, "Unknown parameter");         }    }    /**      *     * Describes any parameters used by this global extractor,     * to suit a particular domain.      *     * @return A vector of parameters.      */        public ParamVec getParamList() {        ParamVec pv = new ParamVec();         pv.add(new Param("noise", "Number of errors before discontinuing", "1"));         pv.add(new Param("channel", "Channel to work on", "First"));         pv.add(new Param("smoothSize", "Smoothing window size", "1"));         pv.add(new Param("useRelativeTime", "Use time relative to total length", "false"));         return pv;     }    /**      * Now we get to the complicated stuff.     *     * Get a description of the events created by this prototype.      * This includes the description of the number of parameters,      * the names of the parameters and other info. Note also that     * this is included free with any EventVec's we return.      *      */    public EventDescI getEventDesc(){        // The first parameter is the value, which is of        // course the same as the type of the channel.                EventDesc ed = new EventDesc();         ChannelDesc cd = domDesc.getChannel(chanIndex);         DataTypeMgr dtm = DataTypeMgr.getInstance();        ed.addParam("midtime", dtm.getClone("continuous"));         ed.addParam("avg", dtm.getClone("continuous"));         ed.addParam("gradient", dtm.getClone("continuous"));         ed.addParam("duration", dtm.getClone("continuous"));         return (EventDescI) ed;     }    float[] makeDiff(ChannelI c){        float[] retval = new float[c.numFrames()];        float[] rawVals = new float[c.numFrames()];         float avg = 0;         for(int i=0; i < retval.length; i++){            rawVals[i] = c.valAt(i);         }        if(smoothSize != 1){            smoothDiff(rawVals);         }        float prevVal = 0;         for(int i=0; i < retval.length; i++){            retval[i] = rawVals[i]-prevVal;             prevVal = rawVals[i];             avg+= rawVals[i];         }        avg /= c.numFrames();         if(useRelativeHeight){            offset = avg; // HACK!!! This is the hack we use to implement relative height.         }        return retval;     }    float endExtend(float[] input, int index){        if(index < 0) return input[0];         else if(index >= input.length) return input[input.length-1];        else return input[index];     }        void smoothDiff(float[] input){        // Smoothsize must be odd.         float windowSum=0;         // fill the window sum        for(int i=-smoothSize/2; i <= smoothSize/2; i++){            windowSum += endExtend(input, i);         }        // And now run it along        for(int i=0; i < input.length; i++){            //    Debug.dp(Debug.PROGRESS, "Smoothing at " + i + " from " + input[i] + " to " + windowSum/smoothSize);             input[i] = windowSum/smoothSize;             windowSum-= endExtend(input, i-smoothSize/2);             windowSum+= endExtend(input, i+smoothSize/2);         }    }        static String d2str(float[] data){        StringBuffer retval = new StringBuffer(data.length*12);         retval.append("[ ");         for(int i=0; i < data.length; i++){            retval.append(data[i] + " ");            }        retval.append("]");         return retval.toString();     }    /**     * The finding function for this PEP. Returns all the events     * of the form this PEP represents. Returns an EventVecI.      *      * @param c The channel that we want the finding function to     * operate on.      * @return A vector of the events of the type extracted by this     * PEP.      */    public EventVecI findEvents(StreamI s){        int oldDebugLevel = Debug.getDebugLevel();         // Debug.setDebugLevel(Debug.EVERYTHING);         EventVec ev = new EventVec();         ev.setEventDesc(getEventDesc());         // Grab our channel.         ChannelI c = s.chanAt(chanIndex);         int numFrames = c.numFrames();         DataTypeI d = domDesc.getChannel(chanIndex).getDataType();         float[] difference = makeDiff(c);            // So now, we try to make long chains.         int startPoint=0;         int currentPoint=0;         int endPoint=0;         int misses=0;         boolean shouldContinue = true;         while(currentPoint < difference.length){             // In other words, loop over the whole signal.             Debug.dp(Debug.EVERYTHING, "Now at " + currentPoint);             if(difference[currentPoint] > 0){                endPoint = currentPoint;                 Debug.dp(Debug.EVERYTHING, "diff > 0 " + currentPoint);                currentPoint++;             }            else {                currentPoint++;                 misses++;             }            if(misses > noiseIgnore){                Debug.dp(Debug.EVERYTHING, "Attempting " + startPoint + " " + endPoint);                                     // End of the run. So now dump.                 if(endPoint-startPoint +1 > minDurn){                    Debug.dp(Debug.EVERYTHING, "Adding " + startPoint + " " + endPoint);                     ev.add(makeInc(startPoint, endPoint-1, c, difference, useRelativeTime, offset));                 }                currentPoint++;                 startPoint = currentPoint;                 endPoint =currentPoint;                 misses = 0;             }                   }        // But what if it is at the end? So we have to have a special case here too ...         if(endPoint-startPoint +1 > minDurn){            Debug.dp(Debug.EVERYTHING, "Adding " + startPoint + " " + endPoint);             ev.add(makeInc(startPoint, endPoint-1, c, difference, useRelativeTime, offset));         }        Debug.dp(Debug.EVERYTHING , "findEvents on " + s.getComment() + " " + domDesc.getChannel(chanIndex).getName() +" returns " + ev + d2str(difference));         Debug.setDebugLevel(oldDebugLevel);         return ev;     }    EventI makeInc(int start, int end, ChannelI c, float[] diff, boolean useRelativeTime, float offset){        int totlength = diff.length;        float duration = end - start + 1;         float midTime = (end + start)/((float) 2.0);         // And now the messy bits ... gradients and averages.         // This stuff based on Walpole and myers.         float xave = midTime;         // Compute yave        float ytotal = 0;         for(int i=start; i <= end; i++){            ytotal += c.valAt(i);         }        float yave = ytotal/duration;         // Eqtn for gradient is: sum(1, n)((x[i]-xave).(y[i]-yave))/sum(1,n)(x[i]-xave)        float xiyi=0;         float xi2=0;         for(int i=start; i <= end; i++){            float xid = i-xave;            xiyi += xid*(c.valAt(i)-yave);            xi2 += xid*xid;             }        float gradient = xiyi/xi2;                 if(useRelativeTime){            duration /= totlength;             midTime /= totlength;            gradient *= totlength;         }        return new IncEvent(yave-offset, midTime, gradient, duration);     } }class IncEvent implements EventI {    float avg;     float midTime;     float gradient;     float duration;         IncEvent(float avg, float midTime, float gradient, float duration){        this.avg = avg;         this.midTime = midTime;         this.gradient = gradient;         this.duration = duration;     }        public float valOf(int i){        if(i==0){            return midTime;         }        if(i==1){            return avg;         }        if(i==2){            return gradient;         }        if(i==3){            return duration;         }        else return 0;     }        public String toString(){        return "Increasing: midTime = " + midTime +  " avg = " + avg +             " gradient = " + gradient + " durn = " + duration;     }    public float getDuration(){ return duration; }    public float getMidtime(){ return midTime; }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿一区二区三区| 国产精品18久久久久久久久| 国产精品免费视频观看| 久久亚洲影视婷婷| 日韩午夜小视频| 欧美一区二区三区男人的天堂| 欧美丝袜丝交足nylons| 色婷婷av一区二区三区软件| 色综合夜色一区| 91久久精品网| 欧美亚洲动漫精品| 欧美日韩第一区日日骚| 欧美综合久久久| 欧美日韩精品一区二区三区四区| 在线中文字幕不卡| 欧美午夜电影网| 欧美日韩中字一区| 欧美一区二区三区小说| 日韩一区二区三区精品视频| 欧美一区二区福利视频| 亚洲精品一区二区三区99| 精品国产一二三区| 国产日产亚洲精品系列| 中文字幕精品一区二区三区精品| 中文字幕成人在线观看| 亚洲婷婷综合久久一本伊一区| 亚洲日本中文字幕区| 亚洲一区二区三区小说| 日韩主播视频在线| 男女性色大片免费观看一区二区 | 国产毛片精品一区| 国产成人综合精品三级| jiyouzz国产精品久久| 91啪亚洲精品| 欧美高清视频一二三区| 2014亚洲片线观看视频免费| 欧美国产国产综合| 亚洲愉拍自拍另类高清精品| 亚洲v日本v欧美v久久精品| 久久精品国产第一区二区三区| 国产成人av电影免费在线观看| 91欧美激情一区二区三区成人| 欧美日韩三级一区| 欧美变态口味重另类| 欧美国产亚洲另类动漫| 亚洲国产成人tv| 国产一区二区视频在线| 91玉足脚交白嫩脚丫在线播放| 欧美乱熟臀69xxxxxx| 国产视频一区二区在线| 亚洲免费在线视频| 蜜臀精品一区二区三区在线观看 | 久久综合国产精品| 亚洲天堂2014| 理论电影国产精品| 99免费精品视频| 日韩色视频在线观看| 自拍视频在线观看一区二区| 午夜精品123| 成人免费高清在线| 日韩情涩欧美日韩视频| 亚洲丝袜美腿综合| 黑人精品欧美一区二区蜜桃| 日本道精品一区二区三区| 久久久五月婷婷| 午夜精品久久久久久不卡8050| 高清av一区二区| 欧美一区二区三区在线电影| 加勒比av一区二区| 精品国产制服丝袜高跟| 国模娜娜一区二区三区| 国产在线视频一区二区| 日本道在线观看一区二区| 久久久国产一区二区三区四区小说 | 视频一区二区国产| 99久久夜色精品国产网站| 日韩精品一区二区三区蜜臀| 亚洲福利视频三区| 成人免费看视频| 精品国产免费视频| 亚洲成a人片综合在线| 国产99一区视频免费| 欧美美女视频在线观看| 亚洲精品少妇30p| 国产福利一区二区三区在线视频| 日韩一区二区影院| 亚洲综合丁香婷婷六月香| 成人久久18免费网站麻豆 | 91久久精品一区二区| 国产精品无人区| 麻豆精品在线看| 欧美亚洲综合在线| 国产精品福利一区| 大桥未久av一区二区三区中文| 欧美一区二区三区色| 日韩成人精品在线| 一本大道综合伊人精品热热| 中文字幕综合网| 国产一区二区91| 亚洲精品一区二区三区四区高清 | 99精品视频一区二区三区| 日韩欧美三级在线| 日韩成人伦理电影在线观看| 一本久久精品一区二区| 亚洲色欲色欲www| 国产麻豆精品在线观看| 久久精品夜色噜噜亚洲a∨| 蜜桃精品在线观看| 欧美一区二区在线视频| 亚洲风情在线资源站| 在线看日韩精品电影| 综合激情成人伊人| 91激情五月电影| 亚洲欧美日韩国产另类专区| 色综合久久综合网欧美综合网| 亚洲国产精品t66y| 成人动漫中文字幕| 日本一区二区视频在线观看| 成人久久久精品乱码一区二区三区| 国产性色一区二区| 国产一区二区看久久| 精品国产一区二区三区久久影院| 另类人妖一区二区av| 26uuu另类欧美| 天使萌一区二区三区免费观看| 欧美视频一区二区在线观看| 日日骚欧美日韩| 在线成人av影院| 韩日欧美一区二区三区| 久久综合av免费| av在线综合网| 亚洲国产精品国自产拍av| 色综合久久久久网| 久久网这里都是精品| 丰满白嫩尤物一区二区| 亚洲黄色小视频| 欧美在线视频你懂得| 青青草原综合久久大伊人精品| 日韩欧美在线一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 久久久精品免费观看| 色综合久久天天| 日韩精品一卡二卡三卡四卡无卡| 欧美一级一区二区| 天使萌一区二区三区免费观看| 日韩一区二区三区av| 国产乱码精品一区二区三| 中文字幕av一区 二区| av午夜精品一区二区三区| 亚洲特黄一级片| 日韩欧美一区二区在线视频| 日本免费在线视频不卡一不卡二| 26uuu欧美| 欧美三片在线视频观看| 麻豆国产精品官网| 专区另类欧美日韩| 在线播放国产精品二区一二区四区| 国产一区二区成人久久免费影院| 国产精品福利一区二区| 日韩欧美二区三区| 成人av在线看| 奇米综合一区二区三区精品视频| 欧美一区二区三区不卡| 91蜜桃免费观看视频| 亚洲大片免费看| 国产女主播在线一区二区| 欧美日韩第一区日日骚| 国v精品久久久网| 日韩av电影一区| 国产精品欧美一区喷水| 日韩丝袜情趣美女图片| www.亚洲精品| 国产自产高清不卡| 亚洲一区成人在线| 国产精品情趣视频| 日韩欧美国产综合在线一区二区三区| 成人性色生活片| 老司机午夜精品| 一区二区三区 在线观看视频| 国产欧美一区二区在线| 欧美日韩国产区一| 91美女在线观看| 久久se精品一区精品二区| 午夜电影久久久| 日本一区二区三区在线不卡| 日韩欧美一二区| 欧美日韩一区三区四区| 成年人国产精品| 国产剧情一区在线| 肉丝袜脚交视频一区二区| 一区二区三区日韩欧美精品| www欧美成人18+| 制服丝袜中文字幕一区| 91麻豆精品秘密| 暴力调教一区二区三区| 美女一区二区视频| 亚洲第一av色| 午夜视频在线观看一区| 亚洲少妇30p| 亚洲欧美日韩在线播放|