very simple logic but im not getting
n=4
K = [ 1, 2; 3, 4]
K1=zeros(n+1);
K1([1 2],[1 2])=K
K2=zeros(n+1);
K2([2 3],[2 3])=K
K3=zeros(n+1);
K3([3 4],[3 4])=K
K4=zeros(n+1);
K4([4 5],[4 5])=K
L=K1+K2+K3+K4;
how to convert this into loop where we can add more Kn matrices

2 Kommentare

Stephen23
Stephen23 am 9 Mär. 2019
Bearbeitet: Stephen23 am 9 Mär. 2019
"how to convert this into loop where we can add more Kn matrices"
Do NOT do that. Dynamically accessing variable names is one way that beginners force themselves into writing slow, complex, buggy code that is hard to debug. Read this to know why:
Indexing is neat, simple, and very efficient. You should use indexing, e.g. with a cell array or an ND numeric array.
page vnky
page vnky am 9 Mär. 2019
thanks stephen!! that gave me lot and i got it.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Guillaume
Guillaume am 10 Mär. 2019

0 Stimmen

In addition to what Stephen said, it's very easy to create your L for any n, without even a loop:
K = [1 2; 3 4];
n = 5;
L = toeplitz([trace(K), K(2, 1), zeros(1, n-2)], [trace(K), K(1, 2), zeros(1, n-2)]);
L([1, end]) = K([1, end])

1 Kommentar

page vnky
page vnky am 10 Mär. 2019
wow guillaume, i got one step answer with yours... thanks a lot

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 9 Mär. 2019

Kommentiert:

am 10 Mär. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by