一、实现效果
二、源码
%========= 最小二乘法( least square method ) - 单特征 ==========
% 原理参考:http://www.cnblogs.com/softlin/p/5815531.html
clear;
close all;
%=============== generate data ====================
x = (0:1:9); % 0~9
y = [0 2 4 7 8 9 12 14 15 18];
%================= start design ==================
% f(x;m,c)=mx+c
N = length(y); % 数据长度
m_x = sum(x) / N; % 计算 x 平均值
m_y = sum(y) / N; % 计算 y 平均值
m_xx = sum(x.*x) / N; % 计算 x*x 平均值
m_xy = sum(x.*y) / N; % 计算 x*y 平均值
% 根据公式计算出f(x;m,c)=mx+c中的 m
m = (m_xy - m_x*m_y) / (m_xx - m_x*m_x);
% 根据公式计算出f(x;m,c)=mx+c中的 c
c = m_y - m*m_x;
% draw result
figure(1);
scatter(x, y, 30, 'filled', 'bl