声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2701|回复: 11

[编程技巧] 急求:matlab三维拟合用什么函数

[复制链接]
发表于 2008-8-21 16:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
现已知x,y,z的坐标,如何求相关的系数?
x=[503808.4 503793.6
503793.7 503793.7 503793.7 503793.8 503779.2 503779.2 503779.2 503779.2];
>> y=[647086.5 647093.0 647107.9 647122.7 647137.1 647152.5 647160.6 647146.1 647145.3 647136.1];
>> z=[150.786 150.99 151.136 151.655 151.444 151.053 150.241 150.59 150.36 150.363];
>> z=a0+a1*x+a2*y+a3*x^2+a4*x*y+a5*y^2
如何求a0a1a2a3a4a5


[ 本帖最后由 sigma665 于 2008-8-21 17:23 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-8-21 23:26 | 显示全部楼层
a0=0.99985439453757   a1=0.00000000775977   a2=0.00000002833754   a3=0.00000000667078   a4=0.00000000276494  a5=-0.00000000583760

可以参考此贴

http://forum.vibunion.com/forum/ ... A%C3%E6%C4%E2%BA%CF

评分

1

查看全部评分

发表于 2008-8-22 00:00 | 显示全部楼层
这道题似乎不太容易得到最优解。如果参数没有限制,不知道是否还有比下面更好的结果,用1stOpt做的:

均方差(RMSE): 0.101611152016971
残差平方和(SSE): 0.10324826214216
相关系数(R): 0.974641549177399
相关系数之平方(R^2): 0.949926149382921
决定系数(DC): 0.949926145450986
卡方系数(Chi-Square): 0.000341786730176189
F统计(F-Statistic): 15.9764014015923

参数 最佳估算
---------- -------------
a0          -1936920007.90191
a1          5726.92338602312
a2          1527.74493551411
a3          -0.00470843313695677
a4          -0.00151863227521023
a5          -0.000589273650456929
bk.jpg

评分

1

查看全部评分

发表于 2008-8-22 08:19 | 显示全部楼层
这道题不太好…………
 楼主| 发表于 2008-8-22 15:18 | 显示全部楼层
好的,谢谢大家!
 楼主| 发表于 2008-8-22 15:36 | 显示全部楼层
2楼说的这个程序,之前我也看过了,不过没有看懂,你能把你的程序传上来吗?
3楼说的用1stopt这个方法我试了,我还先问一下,matlab和1stopt拟合出来的结果为什么相差这么大啊?
发表于 2008-8-22 16:47 | 显示全部楼层

回复 6楼 suntonghe1983 的帖子

那个贴你进去看了吗
那个readme你下载了吗
发表于 2008-8-22 18:15 | 显示全部楼层

回复 6楼 suntonghe1983 的帖子

同样的程序,传来传去的也没有意义
发表于 2008-8-22 20:40 | 显示全部楼层

把两者的结果带回去验证一下,就能判断哪个结果好。
非线性拟合实际上是非线性最优化问题,而对这种问题还没有任何算法或软件保证100%能找到最优。Matlab的拟合或优化工具箱对初值依赖太重,对复杂问题效果不是太好。
 楼主| 发表于 2008-8-22 20:41 | 显示全部楼层
看了,也下载了,不过看不懂,把他写的程序放到matlab中会出错.
发表于 2008-8-22 20:53 | 显示全部楼层
1stOpt是个独立的程序,不是Matlab的插件。
 楼主| 发表于 2008-8-22 21:55 | 显示全部楼层
原帖由 dingd 于 2008-8-22 20:53 发表
1stOpt是个独立的程序,不是Matlab的插件。



谢谢,这个我知道,用1stopt我可以做出来,也想用matlab做一下.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-3 01:40 , Processed in 0.103340 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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