MATLAB: How to fix the error[Not enough input arguements]

errorinput argument

Hi I'm very new to MATLAB and I met this error:
>> TDMAsolver
Not enough input arguments.
Error in TDMAsolver (line 3)
n = length(d); % n is the number of rows
This code is given by my teacher so it should work, but no matter how many times I try, I still can't run the code. Could anybody help me on this? THX
function x = TDMAsolver(a,b,c,d)
%a, b, c are the column vectors for the compressed tridiagonal matrix, d is the right vector
n = length(d); % n is the number of rows
% Modify the first-row coefficients
c(1) = c(1)/b(1); % Division by zero risk. d(1) = d(1)/b(1);
for i = 2 : n - 1
temp = b(i) - a(i) * c(i - 1);
c(i) = c(i)/temp;
d(i) = (d(i) - a(i) * d(i - 1))/temp;
end
d(n) = (d(n) - a(n) * d(n - 1))/(b(n) - a(n) * c(n - 1)); % Now back substitute.
x(n) = d(n);
for i = n - 1 : -1 : 1
x(i) = d(i) - c(i) * x(i + 1);
end
end

Best Answer

You need to pass the values of inputs a, b, c, d. For example
a = rand(10,1);
b = rand(10,1);
c = rand(10,1);
d = rand(10,1);
TDMAsolver(a,b,c,d)