MATLAB在家庭酿造数据分析中的应用与调试
1. 函数中的不连续问题
在MATLAB编程中,我们遇到了一个由 correctRefract3 函数引发的问题。该函数原本用于绘制形如 $c_0 + c_1x + c_2x^2 + c_3x^3 + c_4y + c_5y^2 + c_6y^3$ 的函数图像,其中 $c_n$ 为常数,部分为负数。然而,绘制出的图像出现了不连续的情况,即数值突然跳跃,这显然不符合逻辑。
为了更清晰地展示这个问题,代码被简化为以下7行,数学函数简化为 $x - y$:
x = input('Please enter a number higher than 30: ');
i = 1;
for y = 30:5:x
w(i) = x - y;
i = i + 1;
end
plot(1:length(w), w, 'b');
这个简化版本被称为 correctRefract3b 。例如,当我们输入不同的值时:
>> correctRefract3b
Please enter a number higher than 30: 100
>> correctRefract3b
Please enter a number higher than 30: 80
绘制出的图像会出现异常的上升,这是由于一个隐藏的bug导致的。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



