>> n = 10; >> for i=1:n, A(i,i) = rand; end >> for i=2:n, A(i,i-1) = rand; end >> for i=1:n-1, A(i,i+1) = rand; end >> A A = Columns 1 through 7 0.6154 0.1988 0 0 0 0 0 0.0579 0.7919 0.0153 0 0 0 0 0 0.3529 0.9218 0.7468 0 0 0 0 0 0.8132 0.7382 0.4451 0 0 0 0 0 0.0099 0.1763 0.9318 0 0 0 0 0 0.1389 0.4057 0.4660 0 0 0 0 0 0.2028 0.9355 0 0 0 0 0 0 0.1987 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 8 through 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4186 0 0 0.9169 0.8462 0 0.6038 0.4103 0.5252 0 0.2722 0.8936 >> b = rand(n,1) b = 0.2026 0.6721 0.8381 0.0196 0.6813 0.3795 0.8318 0.5028 0.7095 0.4289 >> [x] = tri_diag(A,b) x = 0.0694 0.8046 2.0267 -1.7596 -0.7402 0.8898 0.2603 0.9742 -0.5226 0.6391 >> max(abs(A*x-b)) ans = 2.2204e-16 >> diary off