main.m

来自「这是利用matlab编写的一个拟合曲面的工具箱!,可以很方便的拟合空间曲面了.」· M 代码 · 共 25 行

M
25
字号
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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?