【发布时间】:2014-04-24 06:11:14
【问题描述】:
我有一些要在 Octave 中运行的 matlab 代码。有一个函数不适用于 octave,它是 fittype。我一直在用谷歌搜索 Octave 中的等效功能,但无济于事。
我将发布该函数的代码以澄清问题。
function bn = createFit2(b8,bi)
% --- Plot data that was originally in data set "bi vs. b8"
b8 = b8(:);
bi = bi(:);
% --- Create fit "fit"
ok_ = isfinite(b8) & isfinite(bi);
if ~all( ok_ )
warning( 'GenerateMFile:IgnoringNansAndInfs',...
'Ignoring NaNs and Infs in data.' );
end
ft_ = fittype('poly1');
% Fit this model using new data
cf_ = fit(b8(ok_),bi(ok_),ft_);
bn = cf_.p1;
% disp(cf_.p1)
【问题讨论】:
-
告诉我们您想要达到的目标。您可能对
polyfit、polyval等感兴趣。 -
正如我在 cmets 对 am304 的回答中所说,我唯一的目标是将 MatLab 脚本(实际上是 2)转换为 Octave 并使其工作完全相同,或产生相同的结果,以便说服员工远离昂贵的 Matlab 并有一个可行的替代方案。
-
我正在尝试使用看起来运行良好的 polyfit,但我不确定如何匹配我在代码中拥有的 MAtlab fitobject cf_ 的属性。我发现 polyfit 产生一个维度为 3 的向量。不确定第一个组件是否与我在 matlab 代码中的 p1 属性匹配 (bn = cf_.p1)
标签: matlab octave curve-fitting