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 Comment

What size is each Time variable? Scalar, vector, matrix or array?

Sign in to comment.

 Accepted Answer

Stephen23
Stephen23 on 25 May 2015
Edited: Stephen23 on 25 May 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 Comments

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!
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

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Asked:

on 25 May 2015

Commented:

on 25 May 2015

Community Treasure Hunt

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

Start Hunting!