1

我是一名工科学生,我们需要参加计算方法课程。我正在处理我的 MATLAB 作业,但我似乎遇到了无法解决的问题。我是 MATLAB 的新手,所以解决方案可能看起来很简单,我只是很愚蠢。

问题是当我尝试将小数插入函数时,我在命令窗口中收到一个错误,显示“尝试访问 y(17.5);索引必须是正整数或逻辑整数。” 我知道问题是 17.5,但我需要能够获得非整数的值,否则二分法将不起作用。

这是程序的代码:

clc
clear
x=-25:.5:25;
y=-x.^2+4*x+300;
plot(x,y);
grid on;
hold on
disp('Look at the graph, and select the upper and lower bounds to find the POSITIVE root.')
x_min=input('The lower bound is: ');
x_max=input('The upper bound is: ');
E_a=1;
while E_a >= 0.01
    x_mid=((x_min + x_max)/2)
    if (y(x_mid))*(y(x_max)) < 0
        x_max = x_mid
    end
end

对于我的 x_min,我使用了 15,而对于 x_max,我使用了 20

感谢您的帮助!

4

0 回答 0