在MATLAB中,可以使用polyfitn函數進行曲面擬合。
polyfitn函數可以用于多項式曲線或曲面擬合。它的語法如下:
p = polyfitn(x, y, n)
其中,x和y是數據點的坐標,n是所需擬合曲線或曲面的階數。
以下是一個示例代碼,演示如何在MATLAB中進行曲面擬合:
% 創建一些樣本數據
[x, y] = meshgrid(-2:0.2:2);
z = x.^2 + y.^2 + randn(size(x));
% 進行曲面擬合
n = 2; % 擬合的階數
p = polyfitn([x(:), y(:)], z(:), n);
% 計算擬合結果
z_fit = polyvaln(p, [x(:), y(:)]);
% 畫出原始數據和擬合曲面
figure;
scatter3(x(:), y(:), z(:), 'b');
hold on;
mesh(x, y, reshape(z_fit, size(x)), 'EdgeColor', 'r');
xlabel('x');
ylabel('y');
zlabel('z');
legend('原始數據', '擬合曲面');
運行以上代碼,可以得到原始數據點和擬合曲面的三維圖形。