How to build a growing square matrix with the following values?
1 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Akira Agata
2017-2-17
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!