首页 > 解决方案 > Matlab:将更多参数传递给`nlinfit`函数

问题描述

我有兴趣将额外的参数传递给nlinfitMatlab 中的函数

beta = nlinfit(X,Y,modelfun,beta0)

modelfun

function y = modelfun(beta, c, X)
y = beta(1)*x.^(beta2) + c;

我的兴趣是估计 beta 并提供c外部。X 和 Y 有其明显的含义。

可以做到吗?

标签: matlabargumentsparameter-passing

解决方案


如果c是在您调用之前生成的值nlinfit(即它的值在nlinfit运行时是固定的),那么您可以使用匿名函数包装器来传递额外的参数,如下所示:

beta = nlinfit(X, Y, @(beta, X) modelfun(beta, c, X), beta0);

推荐阅读