最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Matlab-基礎(chǔ)篇(四)

2021-02-14 15:13 作者:Berton9407  | 我要投稿

在進(jìn)行文件數(shù)據(jù)讀取,并進(jìn)行數(shù)據(jù)預(yù)繪圖后,非真實(shí)值數(shù)據(jù)點(diǎn)經(jīng)常出現(xiàn),不論是缺失還是數(shù)據(jù)自動(dòng)設(shè)定的情況。Matlab繪圖中線性為"-"(折線圖)時(shí),若有缺失,則對(duì)應(yīng)位置標(biāo)記為NaN(not a number,即不是一個(gè)數(shù)),而自動(dòng)設(shè)定的非真實(shí)記錄數(shù)據(jù),明顯地脫離“群體”,而且都是以一個(gè)特別大或特別小的數(shù)字出現(xiàn),如:-999等。

首先,便是要先找到對(duì)應(yīng)數(shù)列M中(M為程序中數(shù)列對(duì)應(yīng)的變量)存在非真實(shí)值的數(shù)據(jù)點(diǎn)位置,借助find(isnan(M))find(M%3D%3D-999)即可實(shí)現(xiàn),找到對(duì)應(yīng)要預(yù)處理的位置后,通常需要去除非真實(shí)值數(shù)據(jù)點(diǎn)。雖然可以利用循環(huán)一一實(shí)現(xiàn),但Matlab可以直接對(duì)相關(guān)數(shù)列做邏輯運(yùn)算,因此用“隱藏查找”的形式直接統(tǒng)一處理:M(isnan(M))%3D%5B%5DM(M%3D%3D-999)%3D%5B%5D。注意:[]是置空符號(hào),相當(dāng)于清楚對(duì)應(yīng)位置變量,數(shù)據(jù)長(zhǎng)度會(huì)發(fā)生變化,比較“粗魯”;對(duì)應(yīng)矩陣不建議進(jìn)行此操作,因?yàn)榫仃嚾菀壮霈F(xiàn)每一行或每一列size發(fā)生改變,而相應(yīng)合理應(yīng)該是將-999位置變?yōu)镹aN的形式后,再結(jié)合nan(sum%2Fmean%2Fstd)等進(jìn)行一些基本統(tǒng)計(jì)量的計(jì)算。

再者,找到對(duì)應(yīng)位置或刪除一些不需要的數(shù)據(jù)點(diǎn)后,有時(shí)需要在對(duì)應(yīng)位置重新做插值(一般來說,數(shù)量都不太多;如果數(shù)量太多,如超過樣本量的1/3甚至1/2,也不是很建議做插值,因?yàn)椴逯狄氲恼`差會(huì)大大影響分析的結(jié)果討論),來保證每個(gè)測(cè)量量之間的間隔時(shí)間是一樣的,而不會(huì)出現(xiàn)大量不好處理的“非等間隔”數(shù)據(jù)。下面主要來介紹多項(xiàng)式插值和Lagrange(拉格朗日)插值。

  • 多項(xiàng)式插值函數(shù):polyfit、polyval和poly2sym

    【調(diào)用案例】

    >>x1=[1,2,6,10]; y1=[3,2,8,9];

    >>P=polyfit(x1,y1,3); %用三次多項(xiàng)式,確定插值函數(shù)P(降冪形式)

    >>X=1:0.01:10; Y=polyval(P,X); %構(gòu)建新數(shù)據(jù)點(diǎn)X(包含插值點(diǎn)位置),利用P計(jì)算對(duì)應(yīng)值Y

    >>plot(x1,y1,'ro',X,Y) %畫圖

    >>Func=ploy2sym(P) %給出多項(xiàng)式形式

  • Lagrange插值公式的Matlab實(shí)現(xiàn)

    一般情形Lagrange插值公式給出如下:

圖一. 一般情形Lagrange插值公式
  1. 注意到l_i(x)函數(shù)的分子和分母對(duì)應(yīng)了插值位置x和原先所有插值節(jié)點(diǎn)x_i之間的關(guān)系,由于兩者基本一致,而且都是連乘的形式,考慮使用prob函數(shù);

  2. 程序定義向量中,令x:插值位置;x_ori:插值節(jié)點(diǎn);由x_ori~=x_ori(i)給出式子中規(guī)避連乘的間斷項(xiàng);作差由x-x_ori(x_ori~=x_ori(i))給出;結(jié)合連乘符號(hào),則有prob(x-x_ori(x_ori~=x_ori(i)));

  3. 因此,分子和分母分別為:

    pob(x-x_ori(x_ori~=x_ori(i)));prob(x_ori(i)-x_ori(x_ori~=x_ori(i)))

  4. 則l(i)=pob(x-x_ori(x_ori~=x_ori(i)))/prob(x_ori(i)-x_ori(x_ori~=x_ori(i)));

  5. 在l和y都是列向量的前提想,P=sum(l.*y)或P=l’*y。

同時(shí),Matlab也提供了各種維度的插值函數(shù),下面進(jìn)行一一講解,在高維插值時(shí),要注意網(wǎng)格點(diǎn)的生成,基本有兩種生成函數(shù),注意區(qū)別:ndgrid和meshgrid。這樣生成的網(wǎng)格節(jié)點(diǎn)是大小均勻的分布、便于數(shù)據(jù)處理、區(qū)域綜合分析,但存儲(chǔ)量大,不適用于稀疏空間數(shù)據(jù),與之相對(duì)的是一般分布。

  • 一維:interp1、csapi和fnplt

    (1) >>y=interp1(x,y,xx,'method',['extrap'])

    %x:插值節(jié)點(diǎn);y:節(jié)點(diǎn)函數(shù)值;xx:插值位置

    %‘method’可選擇有:

    %spline????????三次樣條函數(shù)插值

    %v5cubic???? 三次多項(xiàng)式插值

    %linear????????線性插值

    %nearest???? 最鄰近插值

    %pchip????????分段三次Hermite插值

    %extrap? ??? ?可選擇添加,以防止有外插的點(diǎn);默認(rèn)只能做內(nèi)插

    (2)>>S=csapi(x,y)%三次樣條插值; fnplt(S);%擬合結(jié)果繪制

    %x/y同(1),S返回樣條函數(shù)對(duì)象的插值結(jié)果,是一個(gè)結(jié)構(gòu)形式(元胞)的數(shù)據(jù),包括子區(qū)間點(diǎn)、各區(qū)間點(diǎn)插值函數(shù)系數(shù)等。

  • 二維:interp2、griddata

    (1) >>Zi=interp2(X,Y,Z,Xi,Yi,'method');

    % 插值點(diǎn)Xi ,Yi 可以是向量或同維矩陣

    % X與Y 須是單調(diào)的,Z的維數(shù)為Y×X

    % 若Xi與Yi 中有在X與Y范圍之外的點(diǎn),則相應(yīng)地返回NaN

    %‘method’可選擇有:

    %spline????????三次樣條函數(shù)插值

    %cubic???? ????雙三次插值

    %linear????????雙線性插值算法(缺省時(shí)默認(rèn))

    %nearest?????最鄰近插值

    (2) >>z=griddata (x0,y0,z0,x,y,’method’); %二維一般分布插值

    %‘method’可選擇有:

    %v4????????????4.0提供的插值算法,公認(rèn)效果較好

    %cubic?????????雙三次插值

    %linear????????雙線性插值算法(缺省時(shí)默認(rèn))

    %nearest?????最鄰近插值

  • 三維:griddata3(類比griddata2的過程,用之前用meshgrid生成三維網(wǎng)格)

    ? ? ? ? ? ?interp3(類比interp1/2的形式)

    >>V0=interp3(x,y,z,V,x0,y0,z0,'method');

    >>slice(x0,y0,z0,V0,[-0.5,0.3, 0.9],[0.6,-0.1],[-1,-0.5,0.5,1])

    % 僅畫出指定坐標(biāo)格點(diǎn)上的函數(shù)值,也稱作查看“切片細(xì)節(jié)”

  • N 維:interpn、griddatan

可以發(fā)現(xiàn),其實(shí)在做插值的過程中,無論是什么插值方法,自然地就存在基于數(shù)據(jù)點(diǎn)的一些擬合逼近過程,但這種“擬合”和后續(xù)的擬合有一些不同,前者是插值方法帶來的,后者可以是參數(shù)化的、也可以是非參數(shù)化的,可以是人為給定的、也可以是非人為給定的,有些特定情況也稱這種擬合是“線性回歸分析”(無論是一元的,還是多元的),這種概念的擬合范圍更廣更豐富。但是,不可忽視的是,每種插值方法都有其一定的誤差,因此對(duì)于誤差及其傳遞的分析也很重要。

Matlab-基礎(chǔ)篇(四)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
多伦县| 永仁县| 青州市| 孙吴县| 桐梓县| 朔州市| 临海市| 灵宝市| 亚东县| 娄烦县| 双辽市| 上饶市| 兴国县| 天门市| 从化市| 蓬安县| 凤冈县| 凤山市| 永和县| 平泉县| 侯马市| 奈曼旗| 郯城县| 龙口市| 临海市| 招远市| 新化县| 吉安县| 额济纳旗| 鄂州市| 东平县| 象山县| 香河县| 若羌县| 博罗县| 菏泽市| 崇文区| 炉霍县| 周宁县| 玉树县| 日照市|