フィルターのクリア

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

1 回表示 (過去 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
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
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
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 ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by