日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab 万能实用的非线性曲线拟合方法

發(fā)布時(shí)間:2024/1/1 循环神经网络 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 万能实用的非线性曲线拟合方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ?? ? ?在科學(xué)計(jì)算和工程應(yīng)用中,經(jīng)常會(huì)遇到需要擬合一系列的離散數(shù)據(jù),最近找了很多相關(guān)的文章方法,在這里進(jìn)行總結(jié)一下其中最完整、幾乎能解決所有離散參數(shù)非線性擬合的方法


?

第一步:得到散點(diǎn)數(shù)據(jù)

根據(jù)你的實(shí)際問題得到一系列的散點(diǎn)

例如:

x=[3.2,3.6,3.8,4,4.2,4.8,5,5.4,6.2,6.4,6.6,6.9,7.1]';%加上一撇表示對(duì)矩陣的轉(zhuǎn)置 y=[0.38,0.66,1,0.77,0.5,0.66,0.83,1,0.71,0.71,1,0.87,0.83]';


第二步:確定函數(shù)模型

根據(jù)上述的實(shí)際散點(diǎn)確定應(yīng)該使用什么樣的曲線,或者說是想要模擬的曲線

t=[3.2,3.6,3.8,4,4.2,4.8,5,5.4,6.2,6.4,6.6,6.9,7.1]'; tt=[0.38,0.66,1,0.77,0.5,0.66,0.83,1,0.71,0.71,1,0.87,0.83]';plot(t,tt,'.');%得到散點(diǎn)圖

散點(diǎn)圖如下所示:

我們已知現(xiàn)存的幾種典型的(也是絕大多數(shù)情況下的函數(shù)模型)



?

選定一個(gè)與散點(diǎn)圖像相匹配的函數(shù)模型,在此例中我們選擇典型的S型曲線模型y= 1/(a+b*e^(-x)),其實(shí)此處的函數(shù)模型可以任意。


?

第三步:確定選用函數(shù)模型中的未知參數(shù)

? ? ??首先了解一下matlab中的inline函數(shù),inline是用來定義內(nèi)聯(lián)函數(shù)的
比如說:

?

y=inline('sin(x)','x') %第一個(gè)參數(shù)是表達(dá)式,第二個(gè)參數(shù)是函數(shù)變量 y(0) %計(jì)算sin(0)的值 y(pi) %計(jì)算sin(pi)的值 q=quad(y,0,1); %計(jì)算sin(x) 在0到1上的積分

? ? ? ?之后,我們?cè)诖a中進(jìn)行函數(shù)的定義

x=[3.2,3.6,3.8,4,4.2,4.5,4.8,5,5.3,5.4,5.6,5.8,6,6.2,6.4,6.6,6.9,7.1]'; y=[0.38,0.66,1,0.77,0.5,0.33,0.66,0.83,0.33,1,0.33,0.5,0.33,0.71,0.71,1,0.87,0.83]';myfunc = inline('1./(beta(1)+beta(2).*exp(-x))','beta','x');%三個(gè)參數(shù)分別為:函數(shù)模型(注意需要使用點(diǎn)除和點(diǎn)乘),待定系數(shù),自變量beta0 = [0.2,0.2]';%待定系數(shù)的預(yù)估值 beta = nlinfit(x,y,myfunc,beta0);%



?

其中,beta返回了非線性擬合之后的待定系數(shù),beta(1)和beta(2)表示待定系數(shù),可以為任意數(shù)量的擴(kuò)展beta(n),也就說明了選擇函數(shù)模型的自由性,甚至可以有100個(gè)參數(shù)!

beta0表示的是函數(shù)模型中待定系數(shù)的預(yù)估值,可以任意設(shè)定


?

? ? ? ? matlab?中的nlinfit(x,y,f,a)函數(shù):用于擬合非線性表達(dá)式的函數(shù)
f:符號(hào)函數(shù)句柄,如果是以m文件的形式調(diào)用的時(shí)候,別忘記加@.這里需要注意,f函數(shù)的返回值是和y匹對(duì)的,即擬合參數(shù)的標(biāo)準(zhǔn)是(f-y)^2取最小值,具體看下面的例子
a:最開始預(yù)估的值(預(yù)擬合的未知參數(shù)的估計(jì)值)。如上面的問題如果我們預(yù)估A為1,B為2,則a=[1 2]
x:我們已經(jīng)獲知的x的值
y:我們已經(jīng)獲知的x對(duì)應(yīng)的y的值(
這部分不懂的在matlab中help命令進(jìn)行了解


?

求解出beta的大小:beta(1) = 1.1562 ?beta(2) = 15.1875;


?

畫圖:使用plot()函數(shù)

t=[3.2,3.6,3.8,4,4.2,4.8,5,5.4,6.2,6.4,6.6,6.9,7.1]'; tt=[0.38,0.66,1,0.77,0.5,0.66,0.83,1,0.71,0.71,1,0.87,0.83]';plot(t,tt,'.'); hold on%保證同時(shí)顯示x = 0:0.01:8; y = 1./(1.1562+15.1875.*exp(-x));plot(x,y);



?

結(jié)果:是不是很棒!~,另外可以自行加上對(duì)應(yīng)的橫縱坐標(biāo)內(nèi)容,這里就不多說了。


?

總結(jié)一下matlab非線性擬合散點(diǎn)圖的過程:得到散點(diǎn)數(shù)據(jù)=>確定函數(shù)模型=>求解函數(shù)模型的待定系數(shù)=>得到擬合函數(shù)的具體形式=>畫出擬合圖像

=========================================================================================

用過Matlab的擬合、優(yōu)化和統(tǒng)計(jì)等工具箱的網(wǎng)友,會(huì)經(jīng)常遇到下面幾個(gè)名詞:

SSE(和方差、誤差平方和):The sum of squares due to error
MSE(均方差、方差):Mean squared error
RMSE(均方根、標(biāo)準(zhǔn)差):Root mean squared error
R-square(確定系數(shù)):Coefficient of determination
Adjusted R-square:Degree-of-freedom adjusted coefficient of determination

下面我對(duì)以上幾個(gè)名詞進(jìn)行詳細(xì)的解釋下,相信能給大家?guī)硪欢ǖ膸椭?#xff01;!

一、SSE(和方差)
該統(tǒng)計(jì)參數(shù)計(jì)算的是擬合數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)的誤差的平方和,計(jì)算公式如下

?

SSE越接近于0,說明模型選擇和擬合更好,數(shù)據(jù)預(yù)測(cè)也越成功。接下來的MSE和RMSE因?yàn)楹蚐SE是同出一宗,所以效果一樣

二、MSE(均方差)
該統(tǒng)計(jì)參數(shù)是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差的平方和的均值,也就是SSE/n,和SSE沒有太大的區(qū)別,計(jì)算公式如下

?

三、RMSE(均方根)
該統(tǒng)計(jì)參數(shù),也叫回歸系統(tǒng)的擬合標(biāo)準(zhǔn)差,是MSE的平方根,就算公式如下

?

在這之前,我們所有的誤差參數(shù)都是基于預(yù)測(cè)值(y_hat)和原始值(y)之間的誤差(即點(diǎn)對(duì)點(diǎn))。從下面開始是所有的誤差都是相對(duì)原始數(shù)據(jù)平均值(y_ba)而展開的(即點(diǎn)對(duì)全)!!!

四、R-square(確定系數(shù))
在講確定系數(shù)之前,我們需要介紹另外兩個(gè)參數(shù)SSR和SST,因?yàn)榇_定系數(shù)就是由它們兩個(gè)決定的
(1)SSR:Sum
of squares of the regression,即預(yù)測(cè)數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和,公式如下

(2)SST:Total sum of squares,即原始數(shù)據(jù)和均值之差的平方和,公式如下

細(xì)心的網(wǎng)友會(huì)發(fā)現(xiàn),SST=SSE+SSR,呵呵只是一個(gè)有趣的問題。而我們的“確定系數(shù)”是定義為SSR和SST的比值,故

?

其實(shí)“確定系數(shù)”是通過數(shù)據(jù)的變化來表征一個(gè)擬合的好壞。由上面的表達(dá)式可以知道“確定系數(shù)”的正常取值范圍為[0
1],越接近1,表明方程的變量對(duì)y的解釋能力越強(qiáng),這個(gè)模型對(duì)數(shù)據(jù)擬合的也較好。


總結(jié)

以上是生活随笔為你收集整理的matlab 万能实用的非线性曲线拟合方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。