matlab最小二乘法擬合函數(shù) 如何對二元函數(shù)進行最小二乘法擬合?
如何對二元函數(shù)進行最小二乘法擬合?參考代碼%生成測試數(shù)據A0=1A1=2A2=3X1=rand(10,10)x2=rand(10,10)y=a0a1*X1 A2*x2%添加隨機噪聲y=y0.1*ran
如何對二元函數(shù)進行最小二乘法擬合?
參考代碼
%生成測試數(shù)據
A0=1A1=2A2=3
X1=rand(10,10)
x2=rand(10,10)
y=a0a1*X1 A2*x2
%添加隨機噪聲
y=y0.1*randn(size(y))
]%擬合函數(shù)形式
f=@(k,x)k(1)k(2)*x(:,1)k(3)*x(:,2)
x=[X1(:)x2(:)
]k=lsqsurvefit(f,[1,1],x,y(:)
n=Size(x,1)
plot(1:n,y(:),“Bo”,1:n,f(k,x),“R.”)
運行結果
k=
1.0309 1.9782 2.9800
分別對應于A0~A2,表明與原系數(shù)一致。