我是一名工科学生,我们需要参加计算方法课程。我正在研究我的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,而20用于x_max
感谢您的帮助!