Filter löschen
Filter löschen

How to input and operate matrices using loop?

1 Ansicht (letzte 30 Tage)
Umair Khan
Umair Khan am 1 Jul. 2016
Beantwortet: John am 7 Jul. 2016
I have 1000 matrices with names C1, C2 ...... C1000. I want to input these matrices, using loop, into my function and operate them in this way:
D1 = 0.5*sum(diag((C1)-(C2)*(inv(C2)-inv(C1))))
D2 = 0.5*sum(diag((C2)-(C3)*(inv(C3)-inv(C2))))
.
.
.
Dn = 0.5*sum(diag((Cn)-(Cn+1)*(inv(Cn+1)-inv(Cn))))
Then i want to store the values of D in a vector named Distance.
Distance=[D1,D2,....,Dn]
Can anyone help me?
  5 Kommentare
Umair Khan
Umair Khan am 7 Jul. 2016
@Stephen Cobeldick: The solution of David works fine.
In your suggested page, i found that dynamically creation of variables is bad and we should use, for example, cell arrays. In david's solution we used cell arrays. Means its fine???
Stephen23
Stephen23 am 7 Jul. 2016
Bearbeitet: Stephen23 am 7 Jul. 2016
@Umair Khan: David Miller's solution is good (it should really have been submitted as an answer).
Note that David actually uses numeric array, not a cell array as you state.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

John
John am 7 Jul. 2016
Concatenate all of your matrices to create a 3D array C and index the 3rd dimension using your loop variable i.e. C(:,:,1) would index the matrix C1

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by