永发信息网

已知三维坐标点30个,用MATLAB拟合求方程系数,方程已知V=a+bx+cy+dy^2+exy+fxy^2

答案:1  悬赏:20  手机版
解决时间 2021-02-03 22:46
  • 提问者网友:感性作祟
  • 2021-02-03 02:35
x为0.2 0.4 0.6 0.8 1 1.2
Y为0.84 0.60 0.51 0.41 0.34
V位每组x y分别对应的的体积数据一共三十个
现在想求出上述方程的六个系数,取六个点用矩阵误差太大了……求问大神怎么拟合出曲面求系数啊?
没学过MATLAB就是想处理个数据~谢谢各位大神了求解答!!最好简单一点儿~~~~(>_
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-02-03 03:30



参考代码:
[x,y] = meshgrid(x,y);
x = x(:);
y = y(:);
a_f = [ones(size(x)) x y y.^2 x.*y x.*y.^2]\V(:)
得到的结果就依次为a~f。

测试实例:
% 生成测试数据
x = [0.2 0.4 0.6 0.8 1 1.2];
y = [0.84 0.60 0.51 0.41 0.34];
[x,y] = meshgrid(x,y);
[a,b,c,d,e,f] = deal(1,2,3,4,5,6);
V = a+b*x+c*y+d*y.^2+e*x.*y+f*x.*y.^2;
V = V + randn(size(V))*0.01; % 加入噪声
x = x(:);
y = y(:);
a_f = [ones(size(x)) x y y.^2 x.*y x.*y.^2]\V(:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯