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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab数值拟合r2_MATLAB数据拟合实例(给出两组数据拟合y=ax±b).doc

發布時間:2023/12/20 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab数值拟合r2_MATLAB数据拟合实例(给出两组数据拟合y=ax±b).doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MATLAB數據擬合實例(給出兩組數據擬合y=ax±b)

轉-MATLAB插值與擬合(1)

2010-03-29 19:45

§1曲線擬合

實例:溫度曲線問題

氣象部門觀測到一天某些時刻的溫度變化數據為:

t

0

1

2

3

4

5

6

7

8

9

10

T

13

15

17

14

16

19

26

24

26

27

29

試描繪出溫度變化曲線。

曲線擬合就是計算出兩組數據之間的一種函數關系,由此可描繪其變化曲線及估計非采集數據對應的變量信息。

曲線擬合有多種方式,下面是一元函數采用最小二乘法對給定數據進行多項式曲線擬合,最后給出擬合的多項式系數。

1.線性擬合函數:regress()

調用格式:?b=regress(y,X)

?[b,bint,r,rint,stats]= regress(y,X)

?[b,bint,r,rint,stats]= regress(y,X,alpha)

說明:b=regress(y,X)返回X與y的最小二乘擬合值,及線性模型的參數值β、ε。該函數求解線性模型:

y=Xβ+ε

β是p′1的參數向量;ε是服從標準正態分布的隨機干擾的n′1的向量;y為n′1的向量;X為n′p矩陣。

bint返回β的95%的置信區間。r中為形狀殘差,rint中返回每一個殘差的95%置信區間。Stats向量包含R2統計量、回歸的F值和p值。

例1:設y的值為給定的x的線性函數加服從標準正態分布的隨機干擾值得到。即y=10+x+ε ;求線性擬合方程系數。

程序: x=[ones(10,1) (1:10)'];

?y=x*[10;1]+normrnd(0,0.1,10,1);

?[b,bint]=regress(y,x,0.05)

結果:?x =

?1?1

?1?2

?1?3

?1?4

?1?5

?1?6

?1?7

?1?8

?1?9

?1?10

y =

?10.9567

?11.8334

?13.0125

?14.0288

?14.8854

?16.1191

?17.1189

?17.9962

?19.0327

?20.0175

b =

?9.9213

?1.0143

bint =

?9.7889?10.0537

?0.9930?1.0357

即回歸方程為:y=9.9213+1.0143x

2.多項式曲線擬合函數:polyfit( )

調用格式:?p=polyfit(x,y,n)

?[p,s]= polyfit(x,y,n)

說明:x,y為數據點,n為多項式階數,返回p為冪次從高到低的多項式系數向量p。矩陣s用于生成預測值的誤差估計。(見下一函數polyval)

例2:由離散數據

x

0

.1

.2

.3

.4

.5

.6

.7

.8

.9

1

y

.3

.5

1

1.4

1.6

1.9

.6

.4

.8

1.5

2

擬合出多項式。

程序:

?x=0:.1:1;

?y=[.3 .5 1 1.4 1.6 1.9 .6 .4 .8 1.5 2];

?n=3;

?p=polyfit(x,y,n)

?xi=linspace(0,1,100);

?z=polyval(p,xi);?%多項式求值

?plot(x,y,'o',xi,z,'k:',x,y,'b')

?legend('原始數據','3階曲線')

結果:

p =

?16.7832?-25.7459?10.9802?-0.0035

多項式為:16.7832x3-25.7459x2+10.9802x-0.0035

曲線擬合圖形:

如果是n=6,則如下圖:

也可由函數給出數據。

例3:x=1:20,y=x+3*sin(x)

程序:

?x=1:20;

?y=x+3*sin(x);

?p=polyfit(x,y,6)

?xi=linspace(1,20,100);

?z=polyval(p,xi);?%多項式求值函數

?plot(x,y,'o',xi,z,'k:',x,y,'b')

?legend('原始數據','6階曲線')

結果:

p =

0.0000?-0.0021?0.0505?-0.5971?3.6472?-9.7295?11.3304

再用10階多項式擬合

?程序:x=1:20;

y=x+3*sin(x);

p=polyfit(x,y,10)

xi=linspace(1,20,100);

z=polyval(p,xi);

plot(x,y,'o',xi,z,'k:',x,y,'b')

legend('原始數據','10階多項式')

結果:p =

?Columns 1 through 7

?0.0000?-0.0000?0.0004?-0.0114?0.1814?-1.8065?11.2360

?Columns 8 through 11

?-42.0861?88.5907?-92.8155?40.2671

可用不同階的多項式來擬合數

總結

以上是生活随笔為你收集整理的matlab数值拟合r2_MATLAB数据拟合实例(给出两组数据拟合y=ax±b).doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。