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 commentaire

Stephen23
Stephen23 le 25 Mai 2015
What size is each Time variable? Scalar, vector, matrix or array?

Connectez-vous pour commenter.

 Réponse acceptée

Stephen23
Stephen23 le 25 Mai 2015
Modifié(e) : Stephen23 le 25 Mai 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 commentaires

bio lim
bio lim le 25 Mai 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 le 25 Mai 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 le 25 Mai 2015
Thanks!.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by