声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1626|回复: 4

[编程技巧] 求助:函数拟合!

[复制链接]
发表于 2006-8-22 10:55 | 显示全部楼层 |阅读模式

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

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

x
main.m
tdata=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16]
ydata=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4]
x0=[10,10,10]
[x,resnorm]=curvefit('Yt',x0,tdata,ydata)

Yt.m
function F = myfun(x,tdata)
F=((2*x(3)/(x(2)-x(1)))*(exp(-x(1)*tdata)-exp(-x(2)*tdata)))/48


这个程序运行总出错,哪位高手可以帮忙看一下啊

[ 本帖最后由 cdwxg 于 2006-8-22 15:19 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-8-22 12:08 | 显示全部楼层
初值给的不对, 公式中有:x(3)/(x(2)-x(1)),x(1)和x(2)都给初值10,会造成分母为0,自然无法计算。做拟合等优化问题,还是1stOpt最好,不用猜初值

结果:
x3                 5005.10308270522
x2                 2.00793803886629
x1                 0.185501959221012
bb.jpg
发表于 2006-8-22 15:12 | 显示全部楼层
恩,高手阿
发表于 2006-8-23 20:13 | 显示全部楼层
dingd是不是1stOpt的业务员阿?怎么到处推销1stOpt
发表于 2006-8-23 20:27 | 显示全部楼层
不过话说回来,这个拟合用matlab是能做出来,不过效果不如1stOpt好
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 02:25 , Processed in 0.062054 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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