# How to build a growing square matrix with the following values?

5 views (last 30 days)
Ibro Tutic on 17 Feb 2017
Edited: Ibro Tutic on 17 Feb 2017
I am working on some code to find the condition of a spring matrix. I know the matrix in question, but I am not sure how to create a for-loop to make a bigger matrix after every iteration. In general, the matrix looks something this: Considering the simple case where k1=k2=kn=1.
How would I go about constructing this matrix, computing a condition, then constructing a bigger matrix, computing the condition, and so on?

Akira Agata on 17 Feb 2017
I think this code will generate the matrix.
n = 10;
k = ones(n+1,1);
for kk = 1:n
A = - diag(k(1:kk)) - diag(k(2:kk+1));
if kk>1
A = A + diag(k(2:kk),-1) + diag(k(2:kk),1);
end
% To display the matrix for each loop
A
end
The value k_1 ~ k_n in your picture corresponds to the array k in this script.
##### 1 CommentShowHide None
Ibro Tutic on 17 Feb 2017
Edited: Ibro Tutic on 17 Feb 2017
Thanks for the help!