suntonghe1983 发表于 2008-8-21 16:05

急求:matlab三维拟合用什么函数

现已知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=;
>> z=;
>> z=a0+a1*x+a2*y+a3*x^2+a4*x*y+a5*y^2
如何求a0,a1,a2,a3,a4,a5


[ 本帖最后由 sigma665 于 2008-8-21 17:23 编辑 ]

messenger 发表于 2008-8-21 23:26

a0=0.99985439453757   a1=0.00000000775977   a2=0.00000002833754   a3=0.00000000667078   a4=0.00000000276494a5=-0.00000000583760

可以参考此贴

http://forum.vibunion.com/forum/viewthread.php?tid=1005&highlight=%C7%FA%C3%E6%C4%E2%BA%CF

dingd 发表于 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

express 发表于 2008-8-22 08:19

这道题不太好…………

suntonghe1983 发表于 2008-8-22 15:18

好的,谢谢大家!

suntonghe1983 发表于 2008-8-22 15:36

2楼说的这个程序,之前我也看过了,不过没有看懂,你能把你的程序传上来吗?
3楼说的用1stopt这个方法我试了,我还先问一下,matlab和1stopt拟合出来的结果为什么相差这么大啊?

sigma665 发表于 2008-8-22 16:47

回复 6楼 suntonghe1983 的帖子

那个贴你进去看了吗
那个readme你下载了吗

messenger 发表于 2008-8-22 18:15

回复 6楼 suntonghe1983 的帖子

同样的程序,传来传去的也没有意义

dingd 发表于 2008-8-22 20:40

原帖由 suntonghe1983 于 2008-8-22 15:36 发表 http://www.chinavib.com/forum/images/common/back.gif
3楼说的用1stopt这个方法我试了,我还先问一下,matlab和1stopt拟合出来的结果为什么相差这么大啊?
把两者的结果带回去验证一下,就能判断哪个结果好。
非线性拟合实际上是非线性最优化问题,而对这种问题还没有任何算法或软件保证100%能找到最优。Matlab的拟合或优化工具箱对初值依赖太重,对复杂问题效果不是太好。

suntonghe1983 发表于 2008-8-22 20:41

看了,也下载了,不过看不懂,把他写的程序放到matlab中会出错.

dingd 发表于 2008-8-22 20:53

1stOpt是个独立的程序,不是Matlab的插件。

suntonghe1983 发表于 2008-8-22 21:55

原帖由 dingd 于 2008-8-22 20:53 发表 http://www.chinavib.com/forum/images/common/back.gif
1stOpt是个独立的程序,不是Matlab的插件。


谢谢,这个我知道,用1stopt我可以做出来,也想用matlab做一下.
页: [1]
查看完整版本: 急求:matlab三维拟合用什么函数