利用Matlab 实现直线和平面的拟合 2011-04-14 10:45:43| 分类: 算法思想 |举报|字号 订阅 直线和平面拟合是很常用的两个算法,原理非常简单
但如果matlab 不太熟的话,写起来也不是那么容易
搜了很久才找到这两个代码,保存之,免得日后麻烦
1、直线拟合的matlab 代码 % Fitting a best-fit line to data, both noisy and non-noisy x = rand(1,10); n = rand(size(x)); % Noise y = 2*x + 3; % x and y satisfy y = 2*x + 3 yn = y + n; % x and yn roughly satisfy yn = 2*x + 3 due to the noise % Determine coefficients for non-noisy line y=m1*x+b1 Xcolv = x(:); % Make X a column vector Ycolv = y(:); % Make Y a column vector Const = ones(size(Xcolv)); % Vector of ones for constant term Coeffs = [Xcolv Const]\Ycolv; % Find the coefficients m1 = Coeffs(1); b1 = Coeffs(2); % To fit another function to this data, simply change the first % matrix on the line defining Coeffs % For example, this code would fit a quadratic % y