Creating a Tridiagonal Matrix with varying values

Hello, I am trying to create a tridiagonal matrix with varying values. As shown in the image below
the main diagonal is able to have varying value, but the code only works if the offsetting diagonals are constant values. I am attempting to have all 3 diagonals be varying numerals any help would be greatly appreciated. I will attach my code below.
function [A,b] = ok(k,m)
A=[k];
n=size(A,2)
b=[m];
if size(b,2) < 1
b=[m];
else
b=[m]';
j=size(b,2);
end
N = n;
a = -k;
d =4;
c =4;
M = zeros(N,N)
M( 1:1+N:N*N) = a
M(N+1:1+N:(N*N)-1) = d
M( 2:1+N:N*N-N) = c
As shown above a can =-k , but when I set d or c = to -k I will recieve an error.
Thank you.

 Accepted Answer

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!