Write a function in Matlab that takes as input a size n and a tridiagonal matrix
ID: 3028641 • Letter: W
Question
Write a function in Matlab that takes as input a size n and a tridiagonal matrix given as three vectors: n × 1 vector v representing the main diagonal, (n 1) × 1 vector w representing the upper diagonal, and (n 1) × 1 vector z representing the lower diagonal. Have this function output the LU factorization with the U as two vectors and the L as one vector representing the diagonals. Also output the number of flops used. Use only basic programming.
(a) Write out or print out your function.
(b) Run the case with n = 10, v the vector of 2’s, w and z the vector of 1’s, and b the vector of 1’s. Write down your results for the diagonals of L and U.
(c) Run the case with n = 50 and n = 100 with v the vector of 2’s, w and z the vector of 1’s. Write down your results for the number of flops used
Explanation / Answer
n=input('matrix size:');
%random tridiagonal
w=rand(n-1,1);
v=rand(n,1);
z=rand(n-1,1);
%LU decomposition
[w,v,z]=decomt(w,v,z);
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.