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

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

?? danalyzer.cs

?? 用C#寫的USB數(shù)據(jù)采集程序
?? CS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
using System;
using System.Collections;

namespace DAS
{
	/// <summary>
	/// 多道數(shù)據(jù)分析類
	/// </summary>
    public class DAnalyzer
    {
        #region "受保護(hù)的屬性"
        /// <summary>
        /// 處理后的數(shù)據(jù)
        /// </summary>
        private double[] _data;
        #endregion

        #region "構(gòu)造函數(shù)"
        /// <summary>
        /// 構(gòu)造函數(shù)
        /// </summary>
        public DAnalyzer()
        {
            _data = new double[0];
        }
        #endregion

        #region "公共方法"

        #region "能譜平滑"
        /// <summary>
        /// 能譜平滑
        /// </summary>
        /// <param name="data">要平滑的能譜數(shù)據(jù)</param>
        /// <param name="type">平衡方法</param>
        /// <returns>平滑后的能譜數(shù)據(jù)</returns>
        public void Smooth(ref int[] data, SmoothType type)
        {
            switch (type)
            {
                case SmoothType.points5://5點(diǎn)平滑
                    if (data.Length > 5)
                    {
                        Transform(ref data, -3, 12, 17, 12, -3);
                    }
                    break;
                case SmoothType.points7://7點(diǎn)平滑
                    if (data.Length > 7)
                    {
                        Transform(ref data, -2, 3, 6, 7, 6, 3, -2);
                    }
                    break;
                case SmoothType.points9://9點(diǎn)平滑
                    if (data.Length > 9)
                    {
                        Transform(ref data, -21, 14, 39, 54, 59, 54, 39, 14, -21);
                    }
                    break;
                case SmoothType.points11://11點(diǎn)平滑
                    if (data.Length > 11)
                    {
                        Transform(ref data, -36, 9, 44, 69, 84, 89, 84, 69, 44, 9, -36);
                    }
                    break;
                case SmoothType.points13://13點(diǎn)平滑
                    if (data.Length > 13)
                    {
                        Transform(ref data, -11, 0, 9, 16, 21, 24, 25, 24, 21, 16, 9, 0, -11);
                    }
                    break;
            }
        }
        #endregion

        #region "自定義能譜平滑"
        /// <summary>
        /// 自定義能譜平滑
        /// </summary>
        /// <param name="data">要平滑的能譜數(shù)據(jù)</param>
        /// <param name="paras">平滑參數(shù)</param>
        public void Smooth(ref int[] data, params int[] paras)
        {
            Transform(ref data, paras);
        }
        #endregion

        #region "尋峰"
        /// <summary>
        /// 尋峰
        /// </summary>
        /// <param name="data">要尋峰的能譜數(shù)據(jù)</param>
        /// <param name="results">結(jié)果數(shù)據(jù)</param>
        /// <param name="type">尋峰方法</param>
        public void Peak(int[] data, out PeakResult[] results, int startIndex, int endIndex, PeakType type)
        {
            if (startIndex >= endIndex)
            {
                throw new Exception("StartIndex is over EndIndex.");
            }
            if (startIndex < 0)
            {
                throw new Exception("StartIndex is overflow.");
            }
            if (endIndex > data.Length - 1)
            {
                throw new Exception("EndIndex is overflow.");
            }
            switch (type)
            {
                case PeakType.derivative://導(dǎo)數(shù)法
                    double[] data1 = new double[data.Length];
                    double[] data2 = new double[data.Length];
                    Array.Copy(data, data1, data1.Length);
                    //求二階導(dǎo)數(shù)
                    Transform(ref data1, 42.0, 5, 0, -3, -4, -3, 0, 5);
                    //求三階導(dǎo)數(shù)
                    Array.Copy(data1, data2, data1.Length);
                    Transform(ref data2, 252.0, 22, -67, -58, 0, 58, 67, -22);

                    ArrayList tmpresults = new ArrayList();
                    PeakResult presult;

                    //尋找局部最小值,進(jìn)行峰判定
                    if ((endIndex <= 4) || startIndex >= data1.Length - 4)
                    {
                        results = new PeakResult[0];
                        return;
                    }
                    if (startIndex < 4)
                    {
                        startIndex = 4;
                    }
                    if (endIndex > data1.Length - 4)
                    {
                        endIndex = data1.Length - 4;
                    }
                    for (int i = startIndex; i < endIndex; i++)
                    {
                        if ((data1[i] < data1[i - 1]) && (data1[i] < data1[i + 1]))
                        {
                            double delta = Math.Sqrt(25 * data[i - 3] + 9 * data[i - 1] + 16 * data[i] + 9 * data[i + 1] + 25 * data[i + 3]);
                            //double delta1 = Math.Sqrt(25 * data[i - 4] + 9 * data[i - 2] + 16 * data[i - 1] + 9 * data[i] + 25 * data[i + 2]);
                            //double delta2 = Math.Sqrt(25 * data[i - 2] + 9 * data[i] + 16 * data[i + 1] + 9 * data[i + 2] + 25 * data[i + 4]);

                            if (-data1[i] / delta > 0.5)
                            {
                                presult = new PeakResult();
                                //求精確峰位
                                double channel = i;
                                int j;

                                for (j = -3; j <= 3; j++)
                                {
                                    if (data2[i + j] == 0)
                                    {
                                        channel = i + j;
                                        break;
                                    }
                                    else
                                    {
                                        if ((data2[i + j] < 0) && (data2[i + j + 1] > 0))
                                        {
                                            channel = i - data2[i + j] / (data2[i + j + 1] - data2[i + j]);
                                            break;
                                        }
                                    }
                                }
                                presult.Channel = channel;
                                //求峰區(qū)域
                                for (j = 0; j < i - startIndex; j++)
                                {
                                    if (data2[i - j] == 0)
                                    {
                                        presult.RegionStartChannel = i - j;
                                        break;
                                    }
                                    else
                                    {
                                        if ((data2[i - j] < 0) && (data2[i - j - 1] > 0))
                                        {
                                            presult.RegionStartChannel = i - j - 1 + data2[i - j - 1] / (data2[i - j - 1] - data2[i - j]);
                                            break;
                                        }
                                    }
                                }
                                for (j = i; j < endIndex; j++)
                                {
                                    if (data2[j] == 0)
                                    {
                                        presult.RegionEndChannel = j;
                                        break;
                                    }
                                    else
                                    {
                                        if ((data2[j] > 0) && (data2[j + 1] < 0))
                                        {
                                            presult.RegionEndChannel = j + data2[j] / (data2[j] - data2[j + 1]);
                                            break;
                                        }
                                    }
                                }
                                double n = Math.Max(presult.RegionEndChannel - presult.Channel, presult.Channel - presult.RegionStartChannel);
                                presult.RegionStartChannel = presult.Channel - n;
                                presult.RegionEndChannel = presult.Channel + n;
                                tmpresults.Add(presult);
                            }//if
                        }
                    }
                    results = (PeakResult[])tmpresults.ToArray(typeof(PeakResult));
                    break;
                case PeakType.covariance://協(xié)方差法
                    results = new PeakResult[0];
                    break;
                case PeakType.filter://匹配濾波器法
                    results = new PeakResult[0];
                    break;
                case PeakType.linearity://線性擬合法
                    results = new PeakResult[0];
                    break;
                default:
                    results = new PeakResult[0];
                    break;
            }
        }
        #endregion

        #region "最小二乘法曲線擬合"
        /// <summary>
        /// 最小二乘法
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public LeastSquareResult LeastSquare(MultinomialType type, params LeastSquareData[] data)
        {
            //只有1個(gè)點(diǎn)則產(chǎn)生異常
            if (data.Length < 2)
            {
                throw new Exception("Parameters is too less.");
            }
            double a1 = 0;
            double a2 = 0;
            double a3 = 0;
            double a4 = 0;
            double a5 = 0;
            double a6 = 0;
            double a7 = 0;
            double a8 = 0;
            double b1 = 0;
            double b2 = 0;
            double b3 = 0;
            double b4 = 0;
            double b5 = 0;
            double x1 = 0;
            double x2 = 0;
            double x3 = 0;
            LeastSquareResult result = new LeastSquareResult();

            switch (type)
            {
                case MultinomialType.Linear:
                    //*****要計(jì)算的矩陣*****
                    //|a1 a2||x1|   |b1|
                    //|a4 0 ||x2|   |b3|
                    //**********************
                    //計(jì)算矩陣系數(shù)
                    a1 = data.Length;
                    foreach (LeastSquareData d in data)
                    {
                        a2 += d.X;
                        a3 += d.X * d.X;
                        b1 += d.Fx;
                        b2 += d.Fx * d.X;
                    }
                    a4 = a2 - a1 * a3 / a2;
                    b3 = b2 - b1 * a3 / a2;
                    //計(jì)算結(jié)果
                    x1 = b3 / a4;
                    x2 = (b1 - a1 * x1) / a2;
                    result.A = x1;
                    result.B = x2;
                    result.C = 0;
                    break;
                case MultinomialType.Square:
                    //如果只有兩個(gè)點(diǎn)則作直線擬合
                    if (data.Length < 3)
                    {
                        double b = 0;
                        double a = 0;
                        b = (data[0].Fx - data[1].Fx) / (data[0].X - data[1].X);
                        a = data[0].Fx - b * data[0].X;
                        result.A = a;
                        result.B = b;
                        result.C = 0;
                        return result;
                    }
                    else
                    {
                        //*****要計(jì)算的矩陣*****
                        //|a1 a2 a3||x1|   |b1|
                        //|a6 a7 0 ||x2| = |b4|
                        //|a8 0  0 ||x3|   |b5|
                        //**********************
                        //計(jì)算矩陣系數(shù)
                        a1 = data.Length;
                        foreach (LeastSquareData d in data)
                        {
                            a2 += d.X;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品国产网站| 91福利在线看| 一区二区在线电影| 精品国产99国产精品| 欧美中文字幕一区| 日韩一区二区精品葵司在线| 从欧美一区二区三区| 亚洲成人777| 1000部国产精品成人观看| 欧美一区二视频| 色综合久久99| 成人av午夜影院| 久久精品国产一区二区| 亚洲国产成人精品视频| 国产精品国产精品国产专区不蜜 | 五月激情综合网| 亚洲色图都市小说| 国产欧美日韩综合精品一区二区| 欧美三级电影在线看| 92精品国产成人观看免费 | 不卡的av在线| 精品亚洲免费视频| 免费久久精品视频| 亚洲国产aⅴ成人精品无吗| 亚洲欧洲精品一区二区精品久久久 | 国产成人精品亚洲777人妖 | 欧美国产一区在线| 日韩精品在线网站| 欧美高清视频不卡网| 色菇凉天天综合网| av一区二区三区在线| 国产酒店精品激情| 国产精品一区在线| 久久97超碰国产精品超碰| 日韩成人精品在线观看| 亚洲一区二区在线观看视频| 亚洲同性同志一二三专区| 国产精品久久久久久久久免费丝袜| 久久久久久久久久美女| 久久精品一区蜜桃臀影院| 精品国产露脸精彩对白 | 久久综合久久综合久久综合| 欧美三电影在线| 欧美吻胸吃奶大尺度电影| 91丨九色丨国产丨porny| 99国内精品久久| 91国偷自产一区二区使用方法| 成人免费毛片嘿嘿连载视频| 成人动漫视频在线| 91免费在线看| 欧美日韩国产系列| 69堂精品视频| 精品美女被调教视频大全网站| 日韩精品中文字幕在线不卡尤物| 欧美精品一区二区高清在线观看| 久久网站热最新地址| 国产精品色噜噜| 一区二区三区四区在线| 视频在线观看91| 久久草av在线| av在线综合网| 欧美吞精做爰啪啪高潮| 欧美人妇做爰xxxⅹ性高电影| 91精品国产乱码| 久久久国际精品| 伊人性伊人情综合网| 日韩精品一级中文字幕精品视频免费观看| 秋霞午夜鲁丝一区二区老狼| 国产一区二区剧情av在线| eeuss影院一区二区三区| 欧美日韩黄色一区二区| 日本大胆欧美人术艺术动态| 美国十次了思思久久精品导航| 国产一区在线观看麻豆| 91猫先生在线| 日韩一区二区视频在线观看| 久久久青草青青国产亚洲免观| 国产精品另类一区| 日韩电影在线观看网站| 国产成人精品1024| 欧美撒尿777hd撒尿| 久久色在线视频| 一区二区三区中文免费| 韩国毛片一区二区三区| 色综合久久天天| 精品国产乱码久久久久久夜甘婷婷| 国产精品你懂的| 青青草精品视频| av高清久久久| 日韩小视频在线观看专区| 亚洲色图欧洲色图| 精品一区二区三区av| 91国内精品野花午夜精品| 精品久久久久久综合日本欧美| 亚洲精品欧美激情| 国内不卡的二区三区中文字幕| 色一情一伦一子一伦一区| 久久久久久久综合色一本| 亚洲1区2区3区4区| 91在线高清观看| 欧美精品一区二区三区一线天视频| 亚洲一二三四区| 国产99精品视频| 精品欧美一区二区久久| 亚洲一区二区在线观看视频 | 欧美亚洲综合色| 欧美激情中文字幕| 麻豆国产精品777777在线| 欧美亚洲国产一区二区三区va| 国产肉丝袜一区二区| 日韩av不卡在线观看| 在线观看国产日韩| 国产精品全国免费观看高清| 国模无码大尺度一区二区三区| 欧美卡1卡2卡| 亚洲电影在线播放| 97久久超碰国产精品电影| 国产欧美综合在线| 国产一二精品视频| 精品福利av导航| 卡一卡二国产精品| 一区二区视频在线| 色婷婷久久99综合精品jk白丝 | 亚洲丝袜另类动漫二区| 国产精品亚洲人在线观看| 日韩亚洲电影在线| 免费一级片91| 日韩一区二区三区免费观看| 亚洲成人午夜电影| 欧美性色综合网| 亚洲永久精品国产| 在线看一区二区| 亚洲自拍偷拍av| 欧美伊人久久大香线蕉综合69| 亚洲男人天堂av网| 色一区在线观看| 亚洲一区二区三区四区在线 | 精品成人一区二区| 精品一区二区三区蜜桃| 精品久久久久久久人人人人传媒 | 亚洲午夜激情av| 欧美区一区二区三区| 日韩在线播放一区二区| 日韩小视频在线观看专区| 久久国产福利国产秒拍| 久久久久久影视| 国产99久久久国产精品潘金网站| 国产精品婷婷午夜在线观看| 不卡av电影在线播放| 亚洲丝袜美腿综合| 欧美精品在线观看播放| 久久精品国产一区二区三 | 久久免费看少妇高潮| 国产98色在线|日韩| 亚洲成人激情av| 日本欧美一区二区| 欧美精品一区二区三区蜜臀| 色狠狠综合天天综合综合| 成人黄色777网| 欧美亚洲一区三区| 亚洲国产欧美另类丝袜| 69精品人人人人| 韩国v欧美v亚洲v日本v| 国产精品欧美久久久久一区二区 | 日韩中文字幕不卡| 欧美成人一区二区三区| 成人综合在线网站| 一区二区三区中文字幕精品精品| 欧美日韩午夜在线视频| 久久精品二区亚洲w码| 国产精品色婷婷久久58| 欧美性猛片xxxx免费看久爱| 日本91福利区| 国产精品国产成人国产三级| 欧美日韩精品三区| 国产高清不卡二三区| 亚洲国产一区二区视频| 精品国产一区二区三区四区四| 99在线视频精品| 欧美午夜精品久久久久久孕妇 | 亚洲高清在线精品| 久久先锋影音av鲁色资源网| 91老师国产黑色丝袜在线| 丝瓜av网站精品一区二区| 国产精品亲子伦对白| 91精品国产综合久久香蕉麻豆 | 色婷婷激情一区二区三区| 日韩—二三区免费观看av| 国产女主播一区| 日韩亚洲国产中文字幕欧美| 99国产精品久| 国产尤物一区二区在线| 亚洲国产一二三| 国产精品美女www爽爽爽| 91精品国产高清一区二区三区| 99re热视频精品| 国产一区三区三区| 首页国产欧美日韩丝袜| 亚洲欧美日韩精品久久久久| 久久久高清一区二区三区|