Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-09-24, 15:04   #1
jiangkingdom
初级会员
 
注册日期: 2009-09-14
住址: 通化
年龄: 40
帖子: 4
声望力: 0
jiangkingdom 正向着好的方向发展
默认 非线性拟合问题

我现在只要运行M文件的话就会有如下错误
M文件
function yy=model(beta0,x)
a=beta0(1);
b=beta0(2);
c=beta0(3);
yy=a*b*exp(cx)/(b-a+a*exp(cx))
程序
x =
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45

beta0 =

4.4300 82.0000 0.2500


y= 4.4300 8.4000 13.3100 23.1600 41.6300 54.7800 66.1200 75.7900 77.9500 77.8100 80.5100 81.4600 81.9000 82.0500 80.1900 79.6700
betafit = nlinfit(x,y,'model',beta0)

总是给出已下的结果这是我这几天做的拟定,哪里有问题啊,请教了
??? Input argument "beta0" is undefined.

Error in ==> model at 2
a=beta0(1);
说是没有定义beta0,可是明明M文件里有啊,还有a=beta0(1);这个哪里出错了呢
希望能得到解决

此帖于 2009-09-25 08:54 被 jiangkingdom 编辑。
jiangkingdom 当前离线   回复时引用此帖
旧 2009-09-24, 22:00   #2
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 非线性拟合问题

在运行nlinfit之前,在增加一句:
beta0=[3.288 81.114 0.2618]
即可。
slgu 当前离线   回复时引用此帖
旧 2009-09-25, 08:53   #3
jiangkingdom
初级会员
 
注册日期: 2009-09-14
住址: 通化
年龄: 40
帖子: 4
声望力: 0
jiangkingdom 正向着好的方向发展
默认 回复: 非线性拟合问题

引用:
作者: slgu 查看帖子
在运行nlinfit之前,在增加一句:
beta0=[3.288 81.114 0.2618]
即可。
beta0=[3.288 81.114 0.2618]是哪来的 这不是拟合的结果么 不是应该运行nlinfit 后才出现吗 。。。。。
你怎么做出来的啊 教教。。。
beta0 =

4.4300 82.0000 0.2500 之前写错了。。。

此帖于 2009-09-25 08:57 被 jiangkingdom 编辑。
jiangkingdom 当前离线   回复时引用此帖
旧 2009-09-26, 18:25   #4
alexkong
初级会员
 
注册日期: 2009-09-26
帖子: 1
声望力: 0
alexkong 正向着好的方向发展
默认 回复: 非线性拟合问题

额外热玩儿玩儿为额外热舞认为二位
alexkong 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 02:33


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.