Please execute this line of code in Matlab R2015b:
>> [minutes(seconds(1)):minutes(1):minutes(seconds(200))]
Why it goes crazy and gives back a column vector of size 4777?
I need to create ticks for my plot; and I thought this had to work!

 採用された回答

Thorsten
Thorsten 2016 年 8 月 3 日
編集済み: Thorsten 2016 年 8 月 3 日

0 投票

The help of minutes tells us
If X is a numeric array, then M is a duration array in units of minutes.
If X is a duration array, then M is a double array with each element equal to the number of minutes in the corresponding element of X.
so
minutes(seconds(1))
and
minutes(seconds(200)
give a double, while
minutes(1)
gives a duration. So you have
<double>:<duration>:<double>
which messes all up. To increment by 1 minute, use
minutes(seconds(1)):minutes(seconds(200))

1 件のコメント

Hadi Hajieghrary
Hadi Hajieghrary 2016 年 8 月 3 日
Thank you. This is really confusing. I believe what I tried to do is the one of the most common use of the time types like minutes, second, etc.; and, yet it can not be done!

サインインしてコメントする。

その他の回答 (1 件)

J. Webster
J. Webster 2016 年 8 月 3 日

0 投票

no idea why it behaves that way.
However, you should check out datetick

カテゴリ

製品

質問済み:

2016 年 8 月 3 日

回答済み:

2016 年 8 月 3 日

Community Treasure Hunt

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

Start Hunting!

Translated by