Info

# subscript indices error with function file (bisection method)

2 views (last 30 days)
Rachel Dawn on 22 Feb 2018
Closed: MATLAB Answer Bot on 20 Aug 2021
function result=guess(x)
xleft=x(1,1);
xright=x(1,2);
f(x)= x.^3 - 4.9*x.^2 +6.76*x-2.013
if f(xleft)*f(xright)<0
result= 'guess is valid'
else
result= 'guess is not valid'
end
I enter in x=[0,1] and I want my program to define xleft as 0 and xright as 1 and then multiply f(0) with f(1) and tell me whether the product is <0 or not. Why won't it do this?
Also, if I wanted to enter in a matrix like x=[0,1;1,3;5,0] Then I would do
f= x.^3 - 4.9*x.^2 +6.76*x-2.013
for ii=1:3
xleft=x(ii,1)
xright=x(ii,2)
But this won't work either.

Walter Roberson on 22 Feb 2018
f(x)= x.^3 - 4.9*x.^2 +6.76*x-2.013
looks like you are trying to define a formula, not trying to calculate a value based upon specific x. You should probably be using
f = @(x) x.^3 - 4.9*x.^2 +6.76*x-2.013;

Nilesh Bhosale on 12 Apr 2018
Give simple program of Bisection method