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

5 views (last 30 days)
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?

Accepted Answer

Akira Agata
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);
% To display the matrix for each loop
The value k_1 ~ k_n in your picture corresponds to the array k in this script.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!