gpt4 book ai didi

matlab - 获取matlab中拟合函数的函数句柄并分配拟合参数

转载 作者:行者123 更新时间:2023-12-04 04:58:17 25 4
gpt4 key购买 nike

我正在为我的数据拟合自定义函数。
获得拟合后,我想得到类似拟合函数的函数句柄的东西,包括设置为拟合找到的参数的参数。
我知道我可以得到模型

formula(fit) 

我可以得到参数
coeffvalues(fit) 

但是有没有什么简单的方法可以将两者合二为一?

最佳答案

这个小循环可以解决问题:

x = (1:100).';  %'
y = 1*x.^5 + 2*x.^4 + 3*x.^3 + 4*x.^2 + 5*x + 6;
fitobject = fit(x,y,'poly5');

cvalues = coeffvalues(fitobject);
cnames = coeffnames(fitobject);
output = formula(fitobject);

for ii=1:1:numel(cvalues)
cname = cnames{ii};
cvalue = num2str(cvalues(ii));
output = strrep(output, cname , cvalue);
end

output = 1*x^5 + 2*x^4 + 3*x^3 + 4*x^2 + 5*x + 6

该循环需要适应您的拟合系数的数量。

编辑:为了完全回答这个问题,有两个细微的变化。
fhandle = @(x) eval(output)

返回一个函数句柄。您的程序给出的第二个输出不起作用,因为幂运算读取 .^ 而不是 x,这显然可以由
strrep(output, '^', '.^');

关于matlab - 获取matlab中拟合函数的函数句柄并分配拟合参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16478077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com