```
function methods = prj2()
a = input('enter the function', 's');
f = inline(a);
itr = 0;
lim = 0.00001;
c = input('enter the method number, 1 for secant, 2 for newton, 3 for QII');

    if (c == 1)

        x(1) = input('enter the first guess');
        x(2) = input('enter the second guess');
        error = x(2)+lim;
            while (error>lim)
                x(i+1)=x(i)-f(x(i))*(x(i)-x(i-1))/(f(x(i))-f(x(i-1)));
                i = 2;
                i = i + 1;
                itr = itr + 1;
                root = x(i)
            end
        disp(sprintf('Answer= %0.8g', root))
    else if (c == 2)
        syms x(1) = input('enter the initial x');
        error = abs(x(i+1)-x(i));
        i = 1;
            while (error > lim)
                x(i+1)=x(i)-((f(x(i)))/(diff(f(x(i)))));
                itr = itr + 1;
                i = i + 1;
                root = x(i);
            end
    else if (c==3)
        error = abs(x(i+1)-x(i));
        i = 1;
        x(1) = input('enter the first x');
        x(2) = input('enter the second x');
        x(3) = input('enter the third x');
        while (error > lim)
            a = ((f(x(i+1))*f(x(i)))/((f(x(i+2))-(f(x(i+1))))*(f(x(i+2))-f(x(i)))))*(x(i+2));
            b = ((f(x(i+2))*f(x(i)))/((f(x(i+1))-(f(x(i+2))))*(f(x(i+1))-f(x(i)))))*(x(i+1));
            c = ((f(x(i+1))*f(x(i+2)))/((f(x(i))-(f(x(i+1))))*(f(x(i))-f(x(i+2)))))*(x(i));
            f(x(i+3)) = a + b + c;
            i = i + 1;
            itr = itr + 1;
            root = x(i);
            break
        end
    end
end

```

Hello. The above is my matlab code for finding root.
User inputs the value of c, (from 1 to 3), which determines the method to use to find the root (Newton's method, secant method, and Quadratic Inverse Interpolation).

I wanted to keep everything under one file, and I am new to MATLAB, and haven't started reading its manual, but I am not so sure why the code whenever I run gets error message that variable root is not defined.