You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为polyfit函数的参数N传入范围值而非标量?

解答:polyfit无法直接传入次数范围,用循环实现多次数拟合

不行哦,polyfit函数要求多项式次数参数n必须是标量值,没办法直接传入一个范围(比如2到4这类区间)。如果想给同一条曲线批量拟合不同次数的多项式,用for循环来实现是最直接的方案,我给你写个可运行的示例:

% 用一系列指定次数的多项式拟合给定曲线
X = 1:6; % 样本x值
Y0 = [10, 11, 21, 2, 3, 7]; % 原始样本数据
DEG = 2:6; % 要尝试的多项式次数范围
plot(X, Y0, 'o-', 'LineWidth',1.5) % 绘制原始样本作为参考
hold on
for n = DEG
    P = polyfit(X, Y0, n); % 拟合当前次数的多项式
    Y_fit = polyval(P, X); % 计算拟合后的y值
    plot(X, Y_fit, '--', 'DisplayName',["次数",num2str(n)]) % 绘制拟合曲线并标注次数
end
legend
hold off

上面的代码里,我们先定义了要尝试的次数范围DEG,然后循环遍历每个次数,分别完成拟合和绘图,这样就能直观对比不同次数多项式的拟合效果啦。

内容的提问来源于stack exchange,提问作者mins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:24:03