首頁>Club>
22
回覆列表
  • 1 # pietr49411

    題主的(4自變數1因變數)多元函式的擬合matlab程式。可以用nlinfit非線性迴歸函式來做(也可以用lsqcurvefit函式)。實現程式碼:x1=[0.55 0.65 0.65 0.65 0.65 0.55 0.55 0.55 0.65]";x2=[1.6 1.6 1.4 1.6 1.4 1.4 1.6 1.4 1.4]";x3=[20 20 20 10 10 20 20 20 20]";x4=[10 10 10 10 10 10 12 12 12]";Y=[1.848 3.145 3.337 3.022 3.188 1.97 1.63 1.621 2.534]";X=[x1 x2 x3 x4];n=length(x1);a0=rand(1,5);func=@(a,X)(a(1)+a(2)*X(:,1)+a(3)*X(:,2)+a(4)*X(:,3)+a(5)*X(:,4));[a,r,J] = nlinfit(X,Y,func,a0);aY1=func(a,X);[Y Y1]執行上述程式碼,可以得到a1= -1.52778571412534;a2= 11.4823809522886;a3= -0.359047619087202 ;a4= 0.00441190476147387;a5=-0.23363095238449多元函式表示式,y=a1+a2*x1+a3*x2+a4*x3+a5*x4nlinfit與lsqcurvefit兩者區別並不太大,前者用迴歸的方法來求解,而後者用最小二乘法來求解,兩者都可以用於非線性函式和線性函式。

  • 中秋節和大豐收的關聯?
  • 針灸減肥成功後會反彈嗎?