Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Ilyan Njim
Ilyan Njim le 15 Mai 2023

Réponses (2)

Torsten
Torsten le 15 Mai 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 le 15 Mai 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

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by