please help me with this

3 views (last 30 days)
arsalan mehrabi
arsalan mehrabi on 9 Jan 2021
Commented: arsalan mehrabi on 9 Jan 2021
i found this code on internet and its error is 'Not enough input arguments'.
how can i solve this?
Not enough input arguments.
Error in tridiag (line 3)
n = length(d); % n is the number of rows
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;
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);
(matlab 2020a)
  1 Comment
Sibi on 9 Jan 2021
what input you gave?

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 9 Jan 2021
You have not called TDMAsolver with all the inputs. Notice that it requires four inputs (a,b,c and d).

Sign in to comment.

More Answers (0)


Find more on Operating on Diagonal Matrices in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by