Borrar filtros
Borrar filtros

How to input and operate matrices using loop?

1 visualización (últimos 30 días)
Umair Khan
Umair Khan el 1 de Jul. de 2016
Respondida: John el 7 de Jul. de 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 comentarios
Umair Khan
Umair Khan el 7 de Jul. de 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 el 7 de Jul. de 2016
Editada: Stephen23 el 7 de Jul. de 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.

Iniciar sesión para comentar.

Respuestas (1)

John
John el 7 de Jul. de 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

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by