查看: 2432|回复: 9|关注: 0

[已解决] 怎么用二维高斯函数对矩阵中部分已知值进行曲面拟合

[复制链接]

新手

12 麦片

财富积分


050


8

主题

24

帖子

0

最佳答案
x=[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730 740];
y=[620 630 640 650 660 670 680 690 700 710 720 730 740 750 760 770 780 790 800 810 820 830 840 850 860 870 880 890 900 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760 760]
已经知道了矩阵中某个十字范围内的数值,怎么用高斯函数拟合出曲面啊,用了
f=inline('-exp(-((x-600).^2+(y-760).^2))/2c(1)^2)+c(2)','c','x','y');
c=lsqcurvefit(f,[600 760 1000],x ,y,z)命令总是提醒错误
警告: Length of lower bounds is > length(x); ignoring extra bounds.
> In checkbounds (line 27)
  In lsqnsetup (line 71)
  In lsqcurvefit (line 191)
错误使用 inline/feval (line 22)
内联函数的输入数目不足。
出错 lsqcurvefit (line 202)
            initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});
原因:
    Failure in initial objective function evaluation. LSQCURVEFIT cannot continue.

论坛优秀回答者

5

主题

1522

帖子

426

最佳答案
  • 关注者: 123
发表于 2018-7-10 16:22:14 | 显示全部楼层
用二维高斯函数拟合曲面,首先得有曲面,也就是一组(x,y,z)坐标的矩阵才行啊,你这里只有两个矩阵,缺z矩阵

新手

12 麦片

财富积分


050


8

主题

24

帖子

0

最佳答案
 楼主| 发表于 2018-7-10 16:29:26 | 显示全部楼层
TouAkira 发表于 2018-7-10 16:22
用二维高斯函数拟合曲面,首先得有曲面,也就是一组(x,y,z)坐标的矩阵才行啊,你这里只有两个矩阵,缺z矩阵 ...

有z 的,没有贴出来,z=[-435.932971327127        -343.683510398340        -20.7316755369741        273.390029255093        567.511734047160        850.102124522185        942.347159430053        1011.53044386256        1069.18297599673        1109.53968702362        1121.07013198342        1118.18752348752        1098.00922559950        1057.65257603995        1000        1074.94863423792        1164.31089270810        1270.96976260472        1397.80852092581        1541.94468104063        1703.37890162538        1882.11155155334        2081.02678728444        2003.15765952350        1933.93879880859        2279.95721458952        2654.81287552262        2798.96616252315        2957.54006272340        209.984431037848        2.40374902407055        186.983640628724        360.032384769451        397.511404021239        584.893513993667        677.142974922454        677.142974922454        734.796604714305        838.572716834082        884.695199162007        913.521465229094        959.643420688288        988.469555040198        1000        1008.64782987819        1031.70872418827        1069.18274878762        1115.30466912252        1181.60537140405        1224.84511351813        1028.77020704735        809.634340409111        786.573380241662        717.388251712422        544.420688012646        671.340626774690        902.043000707269        809.793539778482]
是只知道某一行和某一列的数值,不知道怎么用高斯函数拟合

论坛优秀回答者

5

主题

1522

帖子

426

最佳答案
  • 关注者: 123
发表于 2018-7-10 20:15:26 | 显示全部楼层
所有人123 发表于 2018-7-10 04:29
有z 的,没有贴出来,z=[-435.932971327127        -343.683510398340        -20.7316755369741        273.390029255093        567. ...

2D Gaussian Fitting.png
R²只有0.8915
你的数据在y<760时与二维高斯模型偏差较大
要么更换更好的数据,要么换其他模型拟合



新手

12 麦片

财富积分


050


8

主题

24

帖子

0

最佳答案
 楼主| 发表于 2018-7-13 13:37:26 | 显示全部楼层
TouAkira 发表于 2018-7-10 20:15
R²只有0.8915
你的数据在y

十分感谢前辈!不知您能否把拟合代码贴出来让我学习一下,谢谢!

论坛优秀回答者

5

主题

1522

帖子

426

最佳答案
  • 关注者: 123
发表于 2018-7-13 13:41:44 | 显示全部楼层
所有人123 发表于 2018-7-13 01:37
十分感谢前辈!不知您能否把拟合代码贴出来让我学习一下,谢谢!

命令行输入cftool用工具箱拟合就可以,结果同我上面发的是一致的

新手

12 麦片

财富积分


050


8

主题

24

帖子

0

最佳答案
 楼主| 发表于 2018-7-13 14:17:38 | 显示全部楼层
TouAkira 发表于 2018-7-13 13:41
命令行输入cftool用工具箱拟合就可以,结果同我上面发的是一致的

好的,谢谢!

论坛优秀回答者

5

主题

1522

帖子

426

最佳答案
  • 关注者: 123
发表于 2018-7-13 14:54:53 | 显示全部楼层 |此回复为最佳答案

不客气,上面的讨论对你有帮助的话,请把我的答复选为最佳答案

新手

12 麦片

财富积分


050


8

主题

24

帖子

0

最佳答案
 楼主| 发表于 2018-7-13 16:02:53 | 显示全部楼层
TouAkira 发表于 2018-7-13 14:54
不客气,上面的讨论对你有帮助的话,请把我的答复选为最佳答案

再请问下,如果不用工具箱的话,怎么以代码的形式把您的那个三维图形拟合出来啊

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2019-9-11 23:15:14 | 显示全部楼层
TouAkira 发表于 2018-7-10 20:15
R²只有0.8915
你的数据在y

你好!请教一下,为什么我的cftool工具仅有x和y,二维的曲线拟合?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表