How to make a tridiagonal matrix (N-1)*(N-1), with different values in the first row?

3 views (last 30 days)

Answers (2)

Torsten
Torsten on 15 May 2023
Change the two values manually after you created A with the "standard" diagonal vectors.
A = ...;
A(1,1) = A(1,1) + 4/3;
A(1,2) = A(1,2) - 1/3;
...

Steven H
Steven H on 15 May 2023
A = (-2 + 16*h^2)*eye(n-1); % Create the diagonal
I = [2:n:numel(A), n:n:numel(A)]; % Indices of off-diagonal elements
A(I) = 1; % Set values to one
A(1,1:2) = A(1,1:2) + [4/3, -1/3]; % Change values in first row

Categories

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!