永发信息网

matlab 散点拟合三维曲面写出曲面表达式

答案:1  悬赏:60  手机版
解决时间 2021-07-20 10:03
  • 提问者网友:孤凫
  • 2021-07-19 12:23
matlab 散点拟合三维曲面写出曲面表达式
给出一堆三维散点,然后拟合出三维曲面,并用一个多项式函数表达来拟合这个曲面,关键是写出这个函数.
用什么命令拟合这个函数呢?
最佳答案
  • 五星知识达人网友:往事埋风中
  • 2021-07-19 12:39

我现在也是这个情况啊!正是相当纠结呢!在网上看到了这个···
因为这个函数的形式比较特殊,对其两边取对数后得到
log(y)=log(a)+b*log(x1)+c*log(x2)
于是立即就转换为了线性拟合
[1 log(x1) log(x2)]*[log(a) b c]'=log(y)
于是[log(a) b c]'=[1 log(x1) log(x2)]\log(y)
这样就可以得到a,b,c了.不需要进行非线性拟合.
下面是程序:(对于x1、x2、y的赋值部分这里就不写了,你自己在前面加上即可)
p=[ones(length(y),1) log([x1 x2])]\log(y);%就这一句话就搞定了
a=exp(p(1)),b=p(2),c=p(3)%这就是拟合后的参数值
y%这是采样点y的值
a*x1.^b.*x2.^c%这是拟合后在采样点得到的值,可以和y比较一下,很接近


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯