I cannot use the lugauss function to calculate L and U factors from matrix A. Please help!
3 views (last 30 days)
Show older comments
I have attached my operating code and here is the lugauss funciton:
function A=lugauss(A)
%LUGAUSS LU factorization without pivoting.
% A = LUGAUSS(A) stores an upper triangular matrix in
% the upper triangular part of A and a lower triangular
% matrix in the strictly lower part of A (the diagonal
% elements of L are 1).
[n,m]=size(A);
if n ~= m; error('A is not a square matrix'); else
for k = 1:n-1
for i = k+1:n
A(i,k) = A(i,k)/A(k,k);
if A(k,k) == 0, error('Null diagonal element '); end
j = [k+1:n]; A(i,j) = A(i,j) - A(i,k)*A(k,j);
end
end
end
0 Comments
Answers (1)
Satyam
on 18 Jun 2025
Hi Tianlan,
According to my understanding, since the value of x is not explicitly mentioned either in the code or the attached screenshot, it must be safe to assume the variable 'x' would be residing in workspace. Following this assumption, the error being faced in this code is probably due to 'x' being a vector having a dimension greater than one which is causing an inconsistency in concatenating the matrix.
A = [2 -2 0
x-2 2 0
0 -1 3]
To fix this issue you can adjust the dimensions of 'x' variable in order to match dimensions of matrix A. In the above case you'll need a single element variable 'x' to achieve that.
I hope it helps.
0 Comments
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!