資源簡介
線性擬合的matlab仿真代碼,包含數據點的收集、一般最小二乘算法、正交回歸算法,畫圖等。其中數據點的收集還包括曲線的數據點收集。

代碼片段和文件信息
%%?普通最小二乘法
%注釋
%%%%%%%%%?原始點數據?%%%%%%%%%
%?x_orgy_org原始直線上的點
%?xy原始直線上隨機取得點
%?x_randy_rand原始直線上隨機取的點加上噪聲后
%%%%%%%%%?結果?%%%%%%%%%
%?theta_1,使用一般最小二乘,場景1,結果
%?theta_2?使用一般最小二乘,場景2,結果
%?k_1c_1?使用正交回歸,場景1,結果
%?k_2c_2?使用正交回歸,場景2,結果
%?k1c1?使用梯度下降,場景1,結果
%?k2c2?使用梯度下降,場景2,結果
%?x_11y_11一般最小二乘,場景1的數據點得出的結果,作圖用的點
%?x_12y_12一般最小二乘,場景2的數據點得出的結果,作圖用的點
%?x_21y_21正交回歸,場景1的數據點得出的結果,作圖用的點
%?x_22y_22正交回歸,場景2的數據點得出的結果,作圖用的點
%?x_31y_31梯度下降,場景1的數據點得出的結果,作圖用的點
%?x_32y_32梯度下降,場景2的數據點得出的結果,作圖用的點
%%%%%%%%%?中間過程?%%%%%%%%%
%?x_m_1?y_m_1數據1中,x和y的均值
%?x_m_2?y_m_2數據2中,x和y的均值
%?
clear?all
clc
close?all
%%?加載數據點
load?x_org.mat;
load?y_org.mat;
load?x.mat;
load?y.mat;
load?x_rand.mat;
load?y_rand.mat;
%%?使用數據1
X=[x;ones(1length(x))];
theta_1=(X*X‘)^(-1)*X*y_rand‘;
%%?使用數據2
X=[x_rand;ones(1length(x_rand))];
theta_2=(X*X‘)^(-1)*X*y_rand‘;
%%?作圖
for?i=1:100
????x_11(i)=-10+(i-1)*0.2;
????y_11(i)=theta_1(1)*x_11(i)+theta_1(2);
end
figure
plot(xy_rand‘y.‘)
axis([-1515-2525])
hold?on
plot(xy‘b‘);
hold?on
plot(x_11y_11‘g-‘);
for?i=1:100
????x_12(i)=-10+(i-1)*0.2;
????y_12(i)=theta_2(1)*x_12(i)+theta_2(2);
end
figure
plot(x_randy_rand‘y.‘)
axis([-1515-2525])
hold?on
plot(xy‘b‘);
hold?on
plot(x_12y_12‘g-‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1874??2019-07-02?10:32??al2_ortho.m
?????文件???????2250??2019-07-02?10:32??al3_GradDecnt.m
?????文件????????658??2019-07-02?10:32??points.m
?????文件???????1612??2019-07-02?10:32??al1_OLS.m
-----------?---------??----------?-----??----
?????????????????6394????????????????????4
- 上一篇:矩陣填充MATLAB代碼
- 下一篇:DeepLearningLSTM.m
評論
共有 條評論