亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Python在RLC串聯(lián)諧振實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用

        2022-03-03 02:18:20趙文來楊俊秀陳秋妹
        大學(xué)物理實(shí)驗(yàn) 2022年6期
        關(guān)鍵詞:實(shí)驗(yàn)

        趙文來,楊俊秀,陳秋妹

        (浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)

        RLC串聯(lián)諧振電路是電學(xué)實(shí)驗(yàn)內(nèi)容之一,旨在加強(qiáng)對(duì)串聯(lián)諧振電路的諧振條件,及阻抗、電流、電壓特點(diǎn)的理解[1]。對(duì)諧振現(xiàn)象的研究具有一定的實(shí)際意義,一方面諧振現(xiàn)象廣泛應(yīng)用于電子技術(shù)中實(shí)現(xiàn)選頻及濾波,另一方面在電力系統(tǒng)中發(fā)生諧振卻需要避免或抑制[2]。利用Python的第三方機(jī)器學(xué)習(xí)庫(kù)Scikit-learn來處理RLC串聯(lián)諧振實(shí)驗(yàn)數(shù)據(jù),并通過matplotlib庫(kù)實(shí)現(xiàn)數(shù)據(jù)及其分析結(jié)果的可視化[3]。

        1 Python工具

        Python是面向?qū)ο蟮母呒?jí)程序語言,其風(fēng)格簡(jiǎn)潔,庫(kù)類多樣,且采用開源,具有豐富三方庫(kù)和開源軟件包接口,成為應(yīng)用于科學(xué)計(jì)算、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)工程、GUI設(shè)計(jì)等眾多領(lǐng)域的高級(jí)語言。

        實(shí)驗(yàn)數(shù)據(jù)處理采用了Python的numpy,Scikit-learn和Matplotlib等庫(kù)。Numpy是數(shù)值計(jì)算庫(kù),提供快速的數(shù)組矩陣運(yùn)算,將RLC串聯(lián)諧振實(shí)驗(yàn)測(cè)試數(shù)據(jù)通過相應(yīng)函數(shù)轉(zhuǎn)化為數(shù)組;Scikit-learn是Python的機(jī)器學(xué)習(xí)庫(kù),是用于數(shù)據(jù)挖掘、數(shù)據(jù)分析的工具,通過數(shù)據(jù)訓(xùn)練,實(shí)現(xiàn)數(shù)據(jù)的擬合回歸預(yù)測(cè)、聚類、模型選取等復(fù)雜算法,采用其中的一元線性回歸模型來完成實(shí)驗(yàn)數(shù)據(jù)的擬合;Matplotlib是Python二維畫圖庫(kù),可以簡(jiǎn)潔地畫出折線,柱狀,散點(diǎn)等二維圖像,實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)的可視化[4]。

        2 原理及均方誤差回歸損失

        2.1 實(shí)驗(yàn)原理

        圖1 RLC串聯(lián)諧振實(shí)驗(yàn)電路原理圖

        其中,電路諧振時(shí),回路電流I為:

        (1)

        任意頻率時(shí),回路電流I為:

        (2)

        回路品質(zhì)因數(shù)Q為:

        (3)

        歸一化電流為:

        (4)

        幅頻特性表現(xiàn)為:

        (5)

        實(shí)際測(cè)量時(shí),通常測(cè)量不同頻率下的電阻電壓、電感電壓和電容電壓,經(jīng)計(jì)算得回路電流有效值,繪制出歸一化電流頻率特性曲線[7-10]。

        2.2 均方誤差回歸損失

        “損失函數(shù)”是機(jī)器學(xué)習(xí)優(yōu)化中至關(guān)重要的一部分,機(jī)器學(xué)習(xí)中的算法都需要最大化或最小化一個(gè)函數(shù),被稱為“目標(biāo)函數(shù)”。一般把最小化的一類函數(shù),稱為“損失函數(shù)”。它能根據(jù)預(yù)測(cè)結(jié)果,衡量出模型預(yù)測(cè)能力的好壞。在實(shí)際應(yīng)用中,選取損失函數(shù)會(huì)受到諸多因素的制約,比如是否有異常值、機(jī)器學(xué)習(xí)算法的選擇、梯度下降的時(shí)間復(fù)雜度、求導(dǎo)的難易程度以及預(yù)測(cè)值的置信度等等[11]。

        最常用的損失函數(shù)是均方誤差MSE,定義如下:

        (6)

        3 測(cè)試數(shù)據(jù)處理分析

        3.1 配置軟件環(huán)境

        本方法在Win7操作系統(tǒng)上實(shí)現(xiàn),基于Python3.6版本,并導(dǎo)入Python第三方軟件庫(kù)工具pip安裝numpy,matplotlib,scikit-learn等庫(kù)。

        3.2 擬合曲線實(shí)現(xiàn)框圖

        首先錄入RLC串聯(lián)諧振實(shí)驗(yàn)測(cè)試數(shù)據(jù),再利用numpy進(jìn)行數(shù)據(jù)預(yù)處理,調(diào)用scikit-learn建立一元多階線性回歸模型并求解,利用數(shù)據(jù)訓(xùn)練及機(jī)器學(xué)習(xí),最后通過均分誤差回歸損失分析判定模型最佳階數(shù),并進(jìn)行可視化輸出。實(shí)驗(yàn)框圖如圖2所示[3]。

        圖2 擬合曲線實(shí)現(xiàn)框圖

        3.3 代碼實(shí)現(xiàn)

        (1)導(dǎo)入第三方庫(kù)文件:

        import numpy as np

        import matplotlib.pyplot as plt

        from sklearn.preprocessing import Polynomial Features

        from sklearn.linear_model import Linear Regression,Perceptron

        from sklearn.metrics import mean_squared_error,r2_score

        from sklearn.model_selection import train_test_split

        mpl.rcParams[′font.sans-serif′]=[’simHei′]

        (2)輸入數(shù)據(jù):基于numpy的數(shù)組array()函數(shù)把數(shù)據(jù)轉(zhuǎn)化成行向量,再結(jié)合reshape()函數(shù)把行向量轉(zhuǎn)化為列向量。

        X1=[]

        Y1=[]

        X=np.array([]).reshape(-1,1)

        y=np.array([]).reshape(-1,1)

        (3)數(shù)據(jù)擬合,機(jī)器學(xué)習(xí):利用numpy的polyfit()函數(shù)進(jìn)行數(shù)據(jù)擬合,及polyld()函數(shù)進(jìn)行機(jī)器學(xué)習(xí)。

        coefn=np.polyfit(x,y,n)

        poly_fitn=np.poly1d(coefn)

        (4)畫圖,利用matplotlib的plot()函數(shù),實(shí)現(xiàn)數(shù)據(jù)擬合曲線可視化。

        plt.scatter(X1,y1,color=′black′,′g:′,label="五階,R=1K歐")

        plt.xlabel("頻率(KHz)")

        plt.ylabel("歸一化電流")

        plt.legend(loc=2)

        plt.show()

        (5)數(shù)據(jù)分割及最優(yōu)判斷[12,13]:

        x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.3)

        rmses=[]

        degrees=np.arange(1,10)

        min_rmse,min_deg,score=1e10,0,0

        for deg in degrees:

        poly=PolynomialFeatures(degree=deg,include_bias=False)

        x_train_poly=poly.fit_transform(x_train)

        poly_reg=LinearRegression()

        poly_reg.fit(x_train_poly,y_train)

        x_test_poly=poly.fit_transform(x_test)

        y_test_pred=poly_reg.predict(x_test_poly)

        poly_rmse=np.sqrt(mean_squared_error(y_test,y_test_pred))

        rmses.append(poly_rmse)

        r2score=r2_score(y_test,y_test_pred)

        if min_rmse > poly_rmse:

        min_rmse=poly_rmse

        min_deg=deg

        score=r2score

        print(′degree=%s,RMSE=%.2f,r2_score=%.2f′ % (deg,poly_rmse,r2score))

        fig=plt.figure()

        ax=fig.add_subplot(111)

        ax.plot(degrees,rmses)

        ax.set_yscale(′log′)

        ax.set_xlabel(′Degree′)

        ax.set_ylabel(′RMSE′)

        ax.set_title(′Best degree=%s,RMSE=%.2f,r2_score=%.2f′ %(min_deg,min_rmse,score))

        plt.show()

        4 實(shí)驗(yàn)結(jié)果

        當(dāng)R=330 Ω時(shí),某生測(cè)試的2組實(shí)驗(yàn)數(shù)據(jù)見表1、表2所示。

        表1 RLC實(shí)驗(yàn)數(shù)據(jù)第一組(R=330 Ω)

        表2 RLC實(shí)驗(yàn)數(shù)據(jù)第二組(R=330 Ω)

        代入程序,對(duì)應(yīng)數(shù)據(jù)二階、三階、及高階擬合結(jié)果如圖3、圖4所示。

        頻率/kHz

        頻率/kHz

        第一組數(shù)據(jù)均方誤差回歸損失決定系數(shù)與階數(shù)的關(guān)系曲線如圖5所示[12,13]。

        頻率/kHz

        由上圖5可知,R=330 Ω時(shí)均方誤差回歸損失第一組數(shù)據(jù)在階數(shù)為6時(shí)最佳,擬合決定系數(shù)為0.59,對(duì)應(yīng)的六階擬合曲線如圖6所示。

        頻率/kHz

        第二組數(shù)據(jù)均方誤差回歸損失決定系數(shù)與階數(shù)的關(guān)系曲線如圖7所示。

        由上圖7可知,R=330 Ω時(shí)均方誤差回歸損失第二組數(shù)據(jù)在階數(shù)為4時(shí)最佳,且決定系數(shù)為0.92,大于第一組數(shù)據(jù)0.59,可見第二組數(shù)據(jù)更精確。利用均分誤差回歸與階數(shù)的對(duì)應(yīng),比較擬合曲線的大致走勢(shì)即可評(píng)估測(cè)試數(shù)據(jù)的優(yōu)劣,決定系數(shù)越接近1越優(yōu)[11]。

        頻率/kHz

        當(dāng)R=1 KΩ時(shí),測(cè)得的2組實(shí)驗(yàn)數(shù)據(jù)見表3、表4所示。

        表3 RLC實(shí)驗(yàn)數(shù)據(jù)第一組(R=1 KΩ)

        表4 RLC實(shí)驗(yàn)數(shù)據(jù)第二組(R=1 KΩ)

        對(duì)應(yīng)數(shù)據(jù)二階、三階、及高階擬合結(jié)果如圖8、圖9所示。

        頻率/kHz

        頻率/kHz

        第一組數(shù)據(jù)均方誤差回歸損失決定系數(shù)與階數(shù)的關(guān)系曲線如圖10所示。

        頻率/kHz

        由上圖10可知,均方誤差回歸損失在階數(shù)為6時(shí)最佳,決定系數(shù)為0.91,對(duì)應(yīng)的六階擬合曲線如圖11所示。

        頻率/kHz

        不同R的情形下比較第二組測(cè)試數(shù)據(jù),對(duì)歸一化電流幅頻特性曲線的影響,如下圖12所示。

        頻率/kHz

        由圖12可清晰觀察諧振電阻R對(duì)曲線的影響,及通頻帶的變化情況。一方面驗(yàn)證測(cè)試數(shù)據(jù)的質(zhì)量,同時(shí)增加對(duì)參數(shù)及曲線的感性認(rèn)識(shí)。

        5 結(jié) 語

        借助Python語言,基于庫(kù)函數(shù)的一元線性回歸模型對(duì)RLC實(shí)驗(yàn)數(shù)據(jù)進(jìn)行了二階、三階等曲線擬合,繪制了各擬合曲線并計(jì)算均方誤差回歸損失決定系數(shù),實(shí)現(xiàn)了實(shí)驗(yàn)數(shù)據(jù)的可視化分析[4]??梢奝ython語言靈活方便且資源豐富,避免了學(xué)生手動(dòng)計(jì)算耗時(shí)長(zhǎng),易出錯(cuò),且不直觀的弊端,學(xué)生可根據(jù)曲線自我判斷測(cè)試數(shù)據(jù)的質(zhì)量,實(shí)驗(yàn)教師通過實(shí)驗(yàn)數(shù)據(jù)的可視化曲線及數(shù)據(jù)分析結(jié)果,便于實(shí)驗(yàn)報(bào)告中數(shù)據(jù)處理部分的批改,有效提高實(shí)驗(yàn)教學(xué)質(zhì)量。

        猜你喜歡
        實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        記住“三個(gè)字”,寫好小實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        記一次有趣的實(shí)驗(yàn)
        有趣的實(shí)驗(yàn)
        微型實(shí)驗(yàn)里看“燃燒”
        做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        性生交大片免费看淑女出招| 国产精品美女主播一区二区| 亚洲av日韩一区二区| 99久久精品费精品国产一区二 | 亚洲中文字幕第一页在线| 国产福利小视频91| 尤物精品国产亚洲亚洲av麻豆 | 国产资源在线视频| 精品国产精品久久一区免费| 亚洲一区二区二区视频| 污污内射在线观看一区二区少妇| 久久久久成人亚洲综合精品 | 国产免费av片在线观看播放| av天堂在线免费播放| 亚洲av高清一区二区三| 久久夜色精品国产欧美乱| 国产精品福利小视频| 日本高清一区二区在线播放 | 人妻经典中文字幕av| 国产成人亚洲综合无码品善网| 无码国产精品一区二区免费16| 91久久精品国产性色tv| 亚洲一区二区三区中文字幕网| 亚洲日本一区二区一本一道| 亚洲最大成av人网站| 麻豆三级视频网站在线观看| 人妻激情偷乱视频一区二区三区| 亚洲中文有码字幕青青| 国产在线AⅤ精品性色| 性色av色香蕉一区二区蜜桃| 色拍自拍亚洲综合图区| 国产自产精品露脸刺激91在线 | 久久久亚洲精品午夜福利| 你懂的视频在线看播放| 337p日本欧洲亚洲大胆精品| 国产三级精品三级国产| 骚货人妻视频中文字幕| 国产成人综合日韩精品无码| 国产精品 高清 尿 小便 嘘嘘| 一本一道久久a久久精品综合蜜桃| 国产熟女盗摄一区二区警花91|