function ff=main(x,p,y,q,z,xx,yy)
% x y z 坐标向量 长度要一样
% p ,q 为拟合函数中x,y 的系数
% xx yy 为 需要拟合的数据 给出(x,y) 坐标 求z
A=leftmatrix (x,p,y,q); % A*a_n=B
B=rightmatrix(x,p,y,q,z);
%a_n=inv(A)*B;
a_n=A\B; % 求a_n inv(A)*B 效果不好 (存疑)
for i=1 : length(a_n) % 把长为p*q 的 a_n 列向量 转还 成p x q 的 aa 矩阵
ii=quotient(i-1,q)+1; % quotient求商
jj=mod(i-1,q)+1;
aa(ii,jj)=a_n(i,1);
end
ff=0; % ff 是 xx,yy 带入所拟合的函数 求出 z
for i=1 : p % 函数为 aa(i,j)*x^i*y^j (i=0...p ,j=0...q)
for j=1 : q % aa 为系数 p x q 的矩阵
ff=ff+aa(i,j) * xx^(i-1) * yy^(j-1);
end
end
- 1
- 2
- 3
- 4
- 5
- 6
前往页