3 views (last 30 days)
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;
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
(matlab 2020a)
Sibi on 9 Jan 2021
what input you gave?

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).
arsalan mehrabi on 9 Jan 2021
thanks man

### Categories

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

R2020a

### Community Treasure Hunt

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

Start Hunting!