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 次查看(过去 30 天)
显示 更早的评论
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 个评论
Dyuman Joshi
2023-9-22
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]
回答(1 个)
Pratyush
2023-9-22
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 个评论
Dyuman Joshi
2023-9-22
You are trying to access the 4th and the 5th row of a 3x3 matrix, which is not possible, hence the error.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!