Write a function in Matlab that takes as input the size n and a tridiagonal matr
ID: 1941098 • Letter: W
Question
Write a function in Matlab that takes as input the size n and a tridiagonalmatrix given as three vectors: n x 1 vector v representing the main diagonal,
(n-1) x 1 vector w representing the upper diagonal, and (n-1) x 1 vector z
representing the lower diagonal. Have this function output the main and upper
diagonal of U and the lower diagonal of L of the LU factorization. Also have
the function count the number of flops used. Use the scripts for functions, for
loops, and if statements.
Explanation / Answer
Diagonal matrices and diagonals of matrix Syntax X = diag(v,k) X = diag(v) v = diag(X,k) v = diag(X) Description X = diag(v,k) when v is a vector of n components, returns a square matrix X of order n+abs(k), with the elements of v on the kth diagonal. k = 0 represents the main diagonal, k > 0 above the main diagonal, and k < 0 below the main diagonal. X = diag(v) puts v on the main diagonal, same as above with k = 0. v = diag(X,k) for matrix X, returns a column vector v formed from the elements of the kth diagonal of X. v = diag(X) returns the main diagonal of X, same as above with k = 0 . Tips diag(diag(X)) is a diagonal matrix. sum(diag(X)) is the trace of X. diag([]) generates an empty matrix, ([]). diag(m-by-1,k) generates a matrix of size m+abs(k)-by-m+abs(k). diag(1-by-n,k) generates a matrix of size n+abs(k)-by-n+abs(k). Examples The statement diag(-m:m)+diag(ones(2*m,1),1)+diag(ones(2*m,1),-1) produces a tridiagonal matrix of order 2*m+1.Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.