How do I write out symbolically what this function does in the case n= 5 for the iteration with j = 3, Using ordinary element wise vector and matrix notation
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
function [L, U] = lufacto(A)
% LUFACT LU factorization
% Input:
% A square matrix
% Output:
% (L, U) unit lower triangular and upper triangular such that LU = A
n = length(A);
L = eye(n); % ones on diagonal
% Gaussian elimination
for j = 1:n-1
L(j+1:n, j) = A(j+1:n, j) / A(j, j);
A(j+1:n, j:n) = A(j+1:n, j:n) - L(j+1:n, j) * A(j, j:n);
end
U = triu(A);
end
1 Commento
Dyuman Joshi
il 22 Set 2023
n = length(A);
Using length() for non-vector, non-square arrays can be confusing (for the lack of a better word).
Instead use the more robust option - size, where the output for a 2D array is
[number_of_rows number_of_columns]
Risposte (1)
Pratyush
il 22 Set 2023
Hi Muhideen,
I understand you want to represent the calculation steps for n=5, in the iteration j=3 using Matrix notation.
Symbolically, the calculations for the given iteration can be represented as:
- L(4, 3) = A(4, 3) / A(3, 3)
- L(5, 3) = A(5, 3) / A(3, 3)
- A(4, 3:5) = A(4, 3:5) - L(4, 3) * A(3, 3:5)
- A(5, 3:5) = A(5, 3:5) - L(5, 3) * A(3, 3:5)
Note: The above notation assumes 1-based indexing.
4 Commenti
Dyuman Joshi
il 22 Set 2023
You are trying to access the 4th and the 5th row of a 3x3 matrix, which is not possible, hence the error.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!