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

Matlab绘制带误差棒的线性回归图:代码无误差棒显示求解

代码问题分析与修正

你的代码存在两个核心问题导致误差棒无法正常显示:

  • errorbar参数传递错误
    Matlab的errorbar函数需要指定x轴数据、y轴数据以及误差范围,正确调用格式为errorbar(x, y, yerr)。你当前的errorbar(vist,err)会被解析为以vist为x值、err为y值绘图,而非给原始数据点(tempint, vist)添加y方向误差棒;再加上err数值极小(仅0.0008),几乎无法在图中观测到。

  • 未启用坐标轴保留机制
    默认情况下,Matlab每次执行plot或errorbar都会清空当前坐标轴内容。你先绘制误差棒,再执行plot时会直接覆盖之前的误差棒图形,最终只显示拟合线。

另外,你通过polyfit得到了拟合系数a,但手动编写了拟合线公式,建议用polyval自动计算拟合值,避免手动输入系数可能出现的错误。

修正后的代码:

tempint = [0.18569,0.530445,0.83078,1.09996,1.34653,1.576,1.7911];
vist = [0.269266,0.314337,0.353932,0.3909,0.421372,0.451202, 0.479455];
a = polyfit(tempint,vist, 1);
y = polyval(a, tempint); % 用polyval自动计算拟合值
err = [0.0008,0.0008,0.0008,0.0008,0.0008,0.0008,0.0008];

errorbar(tempint, vist, err, 'o'); % 绘制带误差棒的原始数据点,'o'标记增强可读性
hold on; % 保留当前坐标轴,后续绘图不会覆盖原有内容
plot(tempint,y);
xlabel("tempo intermedio [s]")
ylabel("velocità istantanea [m/s]")
hold off; % 关闭坐标轴保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:12:40