MATLAB解方程组的时候报错

[b,c]=solve('1500/(1+b*exp(-c*2006))=1011','1500/(1+b*exp(-c*2007))=1113','b','c')不知道... [b,c]=solve('1500/(1+b*exp(-c*2006))=1011','1500/(1+b*exp(-c*2007))=1113','b','c')
不知道我为什么一直报错
错误使用 solve>getEqns (line 418)
List of equations must not be empty.

出错 solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
展开
 我来答
lhmhz
高粉答主

2019-08-14 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17047

向TA提问 私信TA
展开全部

对于低版本的matlab,使用题主给出solve函数求教格式,是对的。但对于高版本的matlab用solve函数使用下列格式

syms b c

[b,c]=solve(1500/(1+b*exp(-c*2006))==1011,1500/(1+b*exp(-c*2007))==1113);

b=double(b)

c=double(c)

求解结果,b =1.69205633186041e+287,c= 0.330056928700164

追问

错误使用 nlinfit (line 213)

Error evaluating model function '@(x)c(1)./(1+exp(-c(2).*x+c(3)))'.

出错 lloogg (line 9)

b=nlinfit(x',y',fx,c0);

原因:

错误使用 lloogg>@(x)c(1)./(1+exp(-c(2).*x+c(3)))

输入参数太多。

追答
函数自定义有问题,应该
fx=@(c,x)c(1)./(1+exp(-c(2).*x+c(3)))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式