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 个评论

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

请先登录,再进行评论。

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by