Subscripted assignment dimension problems?

Hello. I have 1x46 structure array called 'data' with numerous fields. I am particularly interested in the 'Time' field. I am trying to use subscripted assignment to calculate the time difference. Below is my code
for n = 1 : length(data)
time_dis(n) = diff(data(n).Time);
end
I know my code is wrong since there are some dimensional errors. Can anyone provide insights? Any help would be greatly appreciated. Thanks.

1 comentario

Stephen23
Stephen23 el 25 de Mayo de 2015
What size is each Time variable? Scalar, vector, matrix or array?

Iniciar sesión para comentar.

 Respuesta aceptada

Stephen23
Stephen23 el 25 de Mayo de 2015
Editada: Stephen23 el 25 de Mayo de 2015
If each Time value is one single scalar then you can use this:
diff([data.Time])
You will find this useful to read through and understand:

4 comentarios

bio lim
bio lim el 25 de Mayo de 2015
Thanks for your answer. The problem is that they are not a single scalars. Each data.Time, such that data(1).Time is a 1x40 vector. This is why I am considering to use a loop. Do you have any idea how to do this? Thanks!
bio lim
bio lim el 25 de Mayo de 2015
Your link was very useful! Thanks!
Given that each Time values is a 1x40 vector, I would do the following:
>> A(3).Time = [1,2,3,4];
>> A(2).Time = [0,2,4,6];
>> A(1).Time = [0,3,6,9];
>> diff(vertcat(A.Time),1,2)
ans =
3 3 3
2 2 2
1 1 1
bio lim
bio lim el 25 de Mayo de 2015
Thanks!.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Preguntada:

el 25 de Mayo de 2015

Comentada:

el 25 de Mayo de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by