| 5 | 1/1 | 返回列表 |
| 查看: 2199 | 回復: 8 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
[交流]
【求助】急求關(guān)于matlab做非線性擬合的函數(shù)
|
|||
|
我這里有三十組X1、X2與Y值,想擬合出它們之間的二元非線性回歸方程,不知道如何下手,望知道的童鞋指點。 X1=[367 357 348 338 333360 351 343 335 329 363 355 344 337 330 358 351 343 334 327 358 352 340 332 326 362 356 344 337 332] X2=[600 630 650 680 710 625 645 678 712 720 640 635 688 679 727 642 664 693 67 5 740 630 648 689 710 742 620 643 667 701 710] Y=[10.60 17.01 25.40 38.52 46.99 14.47 21.77 31.30 41.89 52.05 12.65 19.49 30. 28 40.32 51.33 16.11 22.22 32.02 44.25 57.64 15.68 21.09 34.85 47.01 59.45 13. 37 17.39 30.03 39.29 47.97] 如果用matlaB回歸的話,希望可以轉(zhuǎn)告程序! 不勝感激,多謝!我一共就32枚金幣,但是系統(tǒng)提示送不了30枚,所以就送25枚了 急求! |
» 搶金幣啦!回帖就可以得到:
+1/88
+1/47
+2/38
+1/37
+1/34
+1/26
+1/26
+1/19
+2/14
+1/14
+1/14
+1/12
+1/11
+1/10
+1/9
+1/9
+1/9
+1/8
+1/4
+1/3
|
假設(shè)你預期的二元二次方程為 y = b1 + b2*X1 + b3*X2 + b4*X1*X2 + b5*X1^2 + b6*X2^2 程序如下 X1=[367 357 348 338 333360 351 343 335 329 363 355 344 337 330 358 351 343 334 327 358 352 340 332 326 362 356 344 337 332 357]; X2=[600 630 650 680 710 625 645 678 712 720 640 635 688 679 727 642 664 693 675 740 630 648 689 710 742 620 643 667 701 710]; Y=[10.60 17.01 25.40 38.52 46.99 14.47 21.77 31.30 41.89 52.05 12.65 19.49 30.28 40.32 51.33 16.11 22.22 32.02 44.25 57.64 15.68 21.09 34.85 47.01 59.45 13.37 17.39 30.03 39.29 47.97]; modelfun = @(b,x)b(1)+b(2)*x(1, +b(3)*x(2, +b(4)*x(1, .*x(2, +b(5)*x(1, .^2+b(6)*x(2, .^2;beta0 = [1 2 3 4 5 6]; mdl = nlinfit([X1;X2],Y,modelfun,beta0) 如果效果不好,可以考慮加權(quán)函數(shù)或啟用robust. |
|
樓主給你個例子,你自己琢磨琢磨吧。我覺得最好的學習方式就是按照一個例子自己摸索試驗。 例程:方程為F=K*X+C*Y+Z*(1-exp(-B*y^2))-F0 F,X,Y,F0,都是已知的列向量,擬合參數(shù)K,C,Z,B 解:在Matlab下輸入:edit,然后將下面兩行百分號之間的內(nèi)容,復制進去,保存 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function F=zhidao_31(a,x) %其中K,C,Z,B分別用a(1),a(2),a(3),a(4)代替 %X,Y,F0分別用x(:,1),x(:,2),x(:,3)代替 F=a(1)*x(:,1)+a(2)*x(:,2)+a(3)*(1-exp(-a(4)*x(:,2).^2))-x(:,3); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 以下是測試:在Matlab下面輸入: %先由已經(jīng)的x,y,F0和已知的k,c,z,b來產(chǎn)生F,然后通過x,y,F0,F %驗證一下:能否得到我們剛才所選用的參數(shù)k,c,z,b %下面以隨機數(shù)為例 x=rand(100,1); y=rand(100,1); F0=rand(100,1); k=1; c=1.5; z=2.5; b=3.5; X=[x,y,F0]; F=zhidao_31([k,c,z,b],X); [A,res]=lsqcurvefit('zhidao_31',ones(1,4),X,F); A 得到的結(jié)果: A = 1.0033 1.4446 2.5520 3.4853 跟k,c,z,b的值大致一樣。 ------------------------------------------ 例題中的問題: 設(shè)好x,y,F0,F后,在Matlab下輸入: [A,res]=lsqcurvefit('zhidao_31',ones(1,4),[x,y,F0],F); %注意x,y大小寫。 A 就可以了。 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 化學調(diào)劑 +3 | 愛吃番茄的旭 2026-03-24 | 4/200 |
|
|---|---|---|---|---|
|
[考博] 26申博 +3 | 加油沖! 2026-03-26 | 3/150 |
|
|
[考研] 334求調(diào)劑 +3 | 雨清天晴 2026-03-21 | 3/150 |
|
|
[考研] 0703化學/290求調(diào)劑/本科經(jīng)歷豐富/工科也可 +7 | 丹青奶蓋 2026-03-26 | 8/400 |
|
|
[考研] 一志愿鄭大085600,310分求調(diào)劑 +5 | 李瀟可 2026-03-26 | 5/250 |
|
|
[考研] 考研調(diào)劑 +9 | 小蠟新筆 2026-03-26 | 9/450 |
|
|
[考研] 考研292求調(diào)劑 +3 | YIXIAO789 2026-03-26 | 3/150 |
|
|
[考研] 286求調(diào)劑 +4 | lim0922 2026-03-26 | 4/200 |
|
|
[考研] 276求調(diào)劑。有半年電池和半年高分子實習經(jīng)歷 +10 | 材料學257求調(diào)劑 2026-03-23 | 11/550 |
|
|
[考研] 342求調(diào)劑 +3 | 加油a李zs 2026-03-26 | 3/150 |
|
|
[考研] 333求調(diào)劑 +6 | wfh030413@ 2026-03-23 | 6/300 |
|
|
[考研] 321求調(diào)劑 +5 | 材料cailiao 2026-03-21 | 5/250 |
|
|
[考研] 打過很多競賽,085406控制工程300分,求調(diào)劑 +3 | askeladz 2026-03-26 | 3/150 |
|
|
[考研] 網(wǎng)絡(luò)空間安全0839招調(diào)劑 +4 | w320357296 2026-03-25 | 6/300 |
|
|
[考研] 求b區(qū)院校調(diào)劑 +4 | 周56 2026-03-24 | 5/250 |
|
|
[考研] 086003食品工程求調(diào)劑 +6 | 淼淼111 2026-03-24 | 6/300 |
|
|
[考研] 生物學學碩求調(diào)劑 +7 | 小羊睡著了? 2026-03-23 | 10/500 |
|
|
[考研] 307求調(diào)劑 +3 | 余意卿 2026-03-21 | 6/300 |
|
|
[考研] 一志愿河北工業(yè)大學0817化工278分求調(diào)劑 +7 | jhybd 2026-03-23 | 12/600 |
|
|
[考研] 0703化學調(diào)劑 +4 | 妮妮ninicgb 2026-03-21 | 4/200 |
|