日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

matlab擬合直線代碼 matlab最小二乘法擬合直線

今天我們一起學習一下參數(shù)擬合問題 , 這一問題在我們日常學習生活中是很常見的 。在初中的時候我們經(jīng)常碰到這樣一個問題 , 已知兩個點(x1,y1)和(x2,y2)讓我們求出一條過這兩點的曲線y=kx+b 。在這個問題中我們碰到了兩個參數(shù)k 和b的求解問題 , 我們回顧一下初中的解決方案:
1.首先我們將兩個點帶入 , 得到
y1=k*x1+b
y2=k*x2+b
2.我們通過求解方程得出k 和b
這一個思路完整的敘述了參數(shù)擬合的整個過程 , 事實上 , 對于該問題我們只是希望的找到一條直線,使他到這兩個點的距離誤差最短 。通過建立評價函數(shù)對各參數(shù)求偏導令其為零的可得到所需要的兩個方程
y1=k*x1+b
【matlab擬合直線代碼 matlab最小二乘法擬合直線】y2=k*x2+b
在高中我們計算圓參數(shù) , 橢圓參數(shù)以及回歸求系數(shù)等這些均是一個典型的參數(shù)擬合問題 , 再到大學項目中的系統(tǒng)參數(shù)辨識以及復雜函數(shù)擬合等
對于這一問題 我們matlab 怎么解決那
我們給出兩種思路
一.通過給定的函數(shù)直接參數(shù)擬合
%已知函數(shù)形式—多項式等給定的簡單函數(shù)形式
x=[1 3 5 8 9];
y=[2 5 7 10 13];
%已知函數(shù)形式為y=k*x+b
coeff=polyfit(x,y,1);
k=coeff(1);b=coeff(2);
二.通過設置目標函數(shù)求解—原理就是優(yōu)化算法迭代求解
目標函數(shù):
function err=objfun(x,y,p)
%目標函數(shù)
%找到一條曲線是的到目標曲線最小 err=sum((y-yi)^2)
err1=p(1)*x+p(2)-y;
err=err1*err1′;
end
主程序調用目標函數(shù)
x=[1 3 5 8 9];
y=[2 5 7 10 13];
loss=@(p)objfun(x,y,p) %帶入已有參數(shù)
p_initial=[0 0];%定義優(yōu)化工具箱迭代初值
[p,fval]=fmincon(loss,p_initial);
k1=p(1);b1=p(2);
當然對于復雜的問題 , 方法二問題解答精度受限于初值的影響 , 通??赏ㄟ^設置數(shù)據(jù)集窮舉參數(shù)作為初值或者定義目標函數(shù)優(yōu)化參數(shù)初值進一步解決擬合問題
對于日常科研過程中 , 要主要識別擬合問題:
1. 在信號處理方面 , 給出傳遞函數(shù)讓你求參數(shù):該問題只需要將傳遞函數(shù)進行變換成差分形式 , 再結合方式2求解 。
2. 給出已知數(shù)據(jù) , 通過該數(shù)據(jù)進行預測 , 實際上該問題也可以從擬合的角度出發(fā)找到當前數(shù)據(jù)最接近的函數(shù)形式 , 在通過該形式的函數(shù)帶入全新的數(shù)值 。

    推薦閱讀