How can I get the upper triangular matrix without using triu()?
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I was able to get the lower triangular matrix by using A(:, 1:end-1), A being my function + argumented matrix but I need to get the upper triangular matrix.
The matrix is Aug= a matrix 3x3, b= 1x3. (A = [Aug b])
3 commentaires
Voss
le 27 Fév 2022
@Jessica Avellaneda Please see my answer, which does not use triu() except to show that the result is correct, which is a part you can omit.
Réponses (1)
Voss
le 25 Fév 2022
Modifié(e) : Voss
le 27 Fév 2022
You can set all elements below the main diagonal to zero, e.g., using a for loop:
% A matrix, pick any size you want:
A = randn(5,6);
disp(A);
% zero out the elements below the diagonal to make it upper-triangular:
A_ut = A;
for ii = 1:size(A,2)
A_ut(ii+1:end,ii) = 0;
end
disp(A_ut);
% make sure this gives the same result as triu(A):
isequal(A_ut,triu(A))
0 commentaires
Voir également
Catégories
En savoir plus sur Sparse 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!