使用nlinfit时“输入参数未定义”

2次观看(过去30天)
豪兰
豪兰 2014年5月27日
评论: 豪兰2014年5月28日
尽管在工作空间中定义了变量,但nlinfit函数的实现返回错误“输入参数p未定义”。我使用的代码如下:
Fun = @(b,x,y,p)b(1)。* x。* p。*((y / x)。^ b(2) - 1)+ b(3)
B0 = [1 1 1];
mdl = nlinfit([x y p],q,fun,b0)
B0给出要确定的系数的初始值 - B1,B2,B3。乐趣是根据哪个数据适合的匿名功能。x,y,p,q是所有列向量,它们在工作区中可见。对这里发生的事情的任何帮助都会受到极大的赞赏。非常感谢你提前。
2评论
马赫迪
马赫迪 2014年5月27日
如果您已经有y和p定义,为什么不简单地简化问题并使其成为
fun = @(b,x)b(1)。* x。* p。*((y / x)。^ b(2) - 1)+ b(3)
b0 = [1 1 1];
mdl = nlinfit(x,q,fun,b0)

登录评论。

接受答案

骑自行车的人
骑自行车的人 2014年5月27日
这样的东西?
x = rand(100,1);
y =兰德(100 1);
p = rand(100,1);
q = rand(100,1);
m = [x y p];
Fun = @(b,m)b(1)。* m(:,1)。* m(:,3)。*((m(m(m(m(m:,2)./ m(:,1))。^ b(2) - 1)+ B(3)
B0 = [1 1 1];
mdl = nlinfit(m,q,fun,b0)
3评论
豪兰
豪兰 2014年5月28日
哦好的。非常感谢。

登录评论。

更多答案(0)

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!