我有兩個變數叫做xand y。每個都有24*365價值。24代表一天的小時數,365代表一年的天數。我正在通過以下命令繪制第 12 小時和第 25 天的值:
plot(x(12:12,25), y(12:12,25))
現在我想在一整年的每 25 天做同樣的事情。比如 1 月 25 日、2 月 25 日、3 月 25 日。我不關心小時值,但我不知道如何創建它的邏輯,因為每個月都有不同的天數。
uj5u.com熱心網友回復:
您可以通過獲取datenum每個月 25 日的值并減去該datenum年 1 月 1 日的值來生成一年中的日期。
dayIdx = datenum(2022,1:12,25) - datenum(2022,1,1) 1;
然后將其用作您的列索引
plot(x(12,dayIdx), y(12,dayIdx))
上面 2022 年的選擇是任意的,只要你選擇一個非閏年來獲得正確的 365 天年份。
uj5u.com熱心網友回復:
datetime資料型別非常適合這種型別的作業。
%Make a vector of datetimes
ts = ( datetime(2001,1,1,0,0,0):hours(1):datetime(2001,12,31,023,0,0) )';
%Find the datetimes which are on the 25th day of the month, and the 12th
%hour of the day
mask = (day(ts) == 25) & (hour(ts) == 12) ;
%Confirm
ts(mask)
結果如下。
(您可能希望將mask變數本身用于您的任務。有時您希望find在邏輯陳述句上使用來獲取索引串列。)
ans =
12×1 datetime array
25-Jan-2001 12:00:00
25-Feb-2001 12:00:00
25-Mar-2001 12:00:00
25-Apr-2001 12:00:00
25-May-2001 12:00:00
25-Jun-2001 12:00:00
25-Jul-2001 12:00:00
25-Aug-2001 12:00:00
25-Sep-2001 12:00:00
25-Oct-2001 12:00:00
25-Nov-2001 12:00:00
25-Dec-2001 12:00:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511567.html
上一篇:如何更改不同子圖的圖例字串?
