MATLAB最小二乘法拟合高次曲面
前言
1. **函数文件源码** :
2. **解决上述问题**
3. **生成源代码**
前言
引用来引用去实在没意思(http://blog.sina.com.cn/s/blog_8702e2b60102x4qg.html),看到的很多最小二乘法拟合曲面方程基本都是基于这样的一个方程,代码也没有什么大的改动。只是应用的时候确实存在很多问题,不太适合实际的问题。
简单分析一下上述参考的源码存在的一些问题。
1. 函数文件源码 :
function [a0, a1, a2, a3, a4, a5] = least_square_surface(x,y,z)
% 初始化矩阵
A = zeros(6,6);
B = zeros(6,1);
% 矩阵赋值(根据最小二乘法对最小二乘矩阵赋值)
for i=1:length(x)
for j = length(y)
A(1,1) = 1+A(1,1);
A(1,2) = x(i,j)+A(1,2);
A(1,3) = y(i,j)+A(1,3);
A(1,4) = x(i,j)^2+A(1,4);
A(1,5) = x(i,j)*y(i,j)+A(1,5);
A(1,6) = y(i,j)^2+A(1,6);
A(2,1) = x(i,j)+A(2,1);
A(2,2) = x(i,j)^2+A(2,2);
A(2,3) = x(i,j)*y(i,j)