久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Matlab中處理日期與時間的函數

     永恒_世界 2014-12-06

    Matlab用三種格式來表示日期與時間

    (1)雙精度型日期數字:一個日期型數字代表從公元0年到某一日期的的天數,例如,2008年8月26日夜時0點鐘被表示為733646,而這同一天的中午12點就被表示為733646.5,也就是說任何一個時刻都可以用一個雙精度型數字表示。

    (2)不同形式的日期字符串:Matlab定義了28種標準日期格式的字符串。

    (3)數值型的日期向量:用一個6元數組來表示一個日期時間,例如,[2008 8 26 12 5 0]表示2008年8月26日12點05分0秒;用一個3元數組來表示一個日期,例如,[2008 8 26]表示2008年8月26日。

    用日期數字表示日期使計算機更容易計算,但是不直觀,因此Matlab提供了許多函數來實現三種日期格式之間的轉化。
    (1)datestr: 實現將日期數字和日期向量轉化為日期字符串,可以在Matlab命令窗口中輸入help datestr來查看關于datestr的用法。
    (2)datenum: 實現將日期字符串和日期向量轉化為日期數字,可以在Matlab命令窗口中輸入help datenum來查看關于datenum的用法。
    (3)datevec: 實現將日期數字和日期字符串轉化為日期向量,可以在Matlab命令窗口中輸入來help datevec查看關于datevec的用法。

    Matlab中其他常用的函數:
    (1)clock:將當前時間和日期返回到一個(6元)數組中。
    >> T = clock
    T =
          2008    8    26    12     31    32.75
    注:直接輸出clock時,可能會以科學計數法的方式輸出,
    clock
    ans =
      1.0e+003 *
        2.0100    0.0010    0.0280    0.0190    0.0280    0.0296
    用fix(clock) 則能輸出易于閱讀的形式
    fix(clock)
    ans =
            2010           1          28          19          28          48

    (2)now:將當前時間和日期以一個雙精度型日期數字返回。
    >> t = now
    t =
      7.3365e+005
    (3)date:將當前時間和日期以dd-mmm-yyyy格式的字符串返回。
    >> d = date
    d =
    26-Aug-2008
    (4)weekday:返回一個日期數字或一個日期字符串的星期及一個星期中的第幾天。
    >> [d,w]=weekday('26-Aug-2008')
    d =
         3
    w =
    Tue
    >> [d,w]=weekday(733646)
    d =
         3
    w =
    Tue
    (5)eomday:返回一個月的最后一天。
    >> eomday(2008,2)
    ans =
    29
    (6)calendar:對用戶要求的任何一個月生一個日歷并顯示在命令窗口中,或將其放在一個6×7的矩陣中。
    >> calendar(2008,8)
                       Aug 2008
         S     M    Tu     W    Th     F     S
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    >> c=calendar(2008,8)
    c =
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    (7)tic,toc:函數tic和toc被用來對一組Matlab運算進行計時。Tic啟動一個秒表,toc停止這個秒表并計算出所經歷的時間。
    >> tic;plot(rand(50,5));toc
    Elapsed time is 3.302510 seconds.
    (8)cputime:函數cputime返回用秒表示的、自從當前的Matlab周期啟動之后Matlab所占用的CPU時間。
    (9)datetick:用來自動完成對數據進行圖形顯示并且用日期或時間字符串來作坐標的標簽。
    >> y=[1998 1998 1999*ones(1,12)];
    >> m=[11 12 (1:12)];
    >> s=[1.1 1.3 1.2 1.4 1.6 1.5 1.7 1.6 1.8 1.3 1.9 1.7 1.6 1.95];
    >> bar(datenum(y,m,1),s)
    >> datetick('x','mmmyy')
    >> ylabel('$ Million')
    >> title('Figure 15.2:Monthly Sales')

    常用的日期操作函數
    datestr(d,f) 將日期數字轉換為字符串
           datenum(str,f) 將字符串轉換為日期數字
           datevec(str) 日期字符串轉換向量
           weekday(d) 計算星期數
           eomday(yr,mth) 計算指定月份最后一天
           calendar(str) 返回日歷矩陣
            clock 當前日期和時間的日期向量
           date 當前日期字符串
           now 當前日期和時間的序列數

    matlab中如何獲取當前日期時間函數的具體應用如下:

    一、date ,now,clock

    1.date:按照日期字符串格式返回當前系統日期
        2.now:按照連續的日期數值格式返回當前系統時間
        3.clock:按照日期向量格式返回當前系統時間
    >> date,now,clock

    ans =

    09-Apr-2011
        ans =

      7.3460e+005
       ans =

      1.0e+003 *

        2.0110    0.0040    0.0090    0.0170    0.0430    0.0470

    二、year,month,day,hour,minute,second
    matlab中分別使用year,month,day,hour,minute,second從上面講到的字符串和連續型日期時間格式中提取年月日時分秒等信息
    >>[year(date),year(now)]
    ans =
           2011        2011
    注意:上面的函數是沒法從向量型日期時間格式中正確讀取上述信息的
    >>year(clock)
    ans =
        5     0     0     0     0     0
      三、Matlab中處理日期與時間的函數詳解

    Matlab用三種格式來表示日期與時間
    (1)雙精度型日期數字:一個日期型數字代表從公元0年到某一日期的的天數,例如,2008年8月26日夜時0點鐘被表示為733646,而這同一天的中午12點就被表示為733646.5,也就是說任何一個時刻都可以用一個雙精度型數字表示。
    (2)不同形式的日期字符串:Matlab定義了28種標準日期格式的字符串。
    (3)數值型的日期向量:用一個6元數組來表示一個日期時間,例如,[2008 8 26 12 5 0]表示2008年8月26日12點05分0秒;用一個3元數組來表示一個日期,例如,[2008 8 26]表示2008年8月26日。
    用日期數字表示日期使計算機更容易計算,但是不直觀,因此Matlab提供了許多函數來實現三種日期格式之間的轉化。
    (1)datestr: 實現將日期數字和日期向量轉化為日期字符串,可以在Matlab命令窗口中輸入help datestr來查看關于datestr的用法。
    (2)datenum: 實現將日期字符串和日期向量轉化為日期數字,可以在Matlab命令窗口中輸入help datenum來查看關于datenum的用法。
    (3)datevec: 實現將日期數字和日期字符串轉化為日期向量,可以在Matlab命令窗口中輸入來help datevec查看關于datevec的用法。
    Matlab中其他常用的函數:
    (1)clock:將當前時間和日期返回到一個(6元)數組中。
    >> T = clock
    T =
          2008    8    26    12     31    32.75

    注:直接輸出clock時,可能會以科學計數法的方式輸出,

    clock
    ans =
      1.0e+003 *
        2.0100    0.0010    0.0280    0.0190    0.0280    0.0296

    用fix(clock) 則能輸出易于閱讀的形式

    fix(clock)
    ans =
            2010           1          28          19          28          48


    (2)now:將當前時間和日期以一個雙精度型日期數字返回。
    >> t = now
    t =
      7.3365e+005
    (3)date:將當前時間和日期以dd-mmm-yyyy格式的字符串返回。
    >> d = date
    d =
    26-Aug-2008
    (4)weekday:返回一個日期數字或一個日期字符串的星期及一個星期中的第幾天。
    >> [d,w]=weekday('26-Aug-2008')
    d =
         3
    w =
    Tue
    >> [d,w]=weekday(733646)
    d =
         3
    w =
    Tue
    (5)eomday:返回一個月的最后一天。
    >> eomday(2008,2)
    ans =
    29
    (6)calendar:對用戶要求的任何一個月生一個日歷并顯示在命令窗口中,或將其放在一個6×7的矩陣中。
    >> calendar(2008,8)
                       Aug 2008
         S     M    Tu     W    Th     F     S
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    >> c=calendar(2008,8)
    c =
         0     0     0     0     0     1     2
         3     4     5     6     7     8     9
        10    11    12    13    14    15    16
        17    18    19    20    21    22    23
        24    25    26    27    28    29    30
        31     0     0     0     0     0     0
    (7)tic,toc:函數tic和toc被用來對一組Matlab運算進行計時。Tic啟動一個秒表,toc停止這個秒表并計算出所經歷的時間。
    >> tic;plot(rand(50,5));toc
    Elapsed time is 3.302510 seconds.
    (8)cputime:函數cputime返回用秒表示的、自從當前的Matlab周期啟動之后Matlab所占用的CPU時間。
    (9)datetick:用來自動完成對數據進行圖形顯示并且用日期或時間字符串來作坐標的標簽。
    >> y=[1998 1998 1999*ones(1,12)];
    >> m=[11 12 (1:12)];
    >> s=[1.1 1.3 1.2 1.4 1.6 1.5 1.7 1.6 1.8 1.3 1.9 1.7 1.6 1.95];
    >> bar(datenum(y,m,1),s)
    >> datetick('x','mmmyy')
    >> ylabel('$ Million')
    >> title('Figure 15.2:Monthly Sales')


    http://eelab./czzheng/blog/10-01/184048_13d5c.html

    1.now 返回當前的日期值(這個數的整數部分表示從公元0年1月1日到該日的天數,小數部分則表示具體的時刻)
    eg.
    t=now
    t =7.3354e+005
    2.datestr 日期轉換成字符形式
    調用格式 datestr(date,dateform) date為要轉換的日期值,dateform為日期格式參數(具體參數值可通過 help datestr查看幫助)
    dateform參數說明
          DATEFORM number    DATEFORM string          Example
         ===========================================================================
            0              'dd-mmm-yyyy HH:MM:SS'    01-Mar-2000 15:45:17
            1              'dd-mmm-yyyy'             01-Mar-2000
            2              'mm/dd/yy'                03/01/00     
            3              'mmm'                     Mar         
            4              'm'                       M            
            5              'mm'                      03            
            6              'mm/dd'                   03/01        
            7              'dd'                      01            
            8              'ddd'                     Wed         
            9              'd'                       W            
           10              'yyyy'                    2000         
           11              'yy'                      00           
           12              'mmmyy'                   Mar00        
           13              'HH:MM:SS'                15:45:17     
           14              'HH:MM:SS PM'              3:45:17 PM
           15              'HH:MM'                   15:45        
           16              'HH:MM PM'                 3:45 PM     
           17              'QQ-YY'                   Q1-96        
           18              'QQ'                      Q1           
           19              'dd/mm'                   01/03        
           20              'dd/mm/yy'                01/03/00     
           21              'mmm.dd,yyyy HH:MM:SS'    Mar.01,2000 15:45:17
           22              'mmm.dd,yyyy'             Mar.01,2000
           23              'mm/dd/yyyy'              03/01/2000
           24              'dd/mm/yyyy'              01/03/2000
           25              'yy/mm/dd'                00/03/01
           26              'yyyy/mm/dd'              2000/03/01
           27              'QQ-YYYY'                 Q1-1996        
           28              'mmmyyyy'                 Mar2000        
           29 (ISO 8601) 'yyyy-mm-dd'              2000-03-01
           30 (ISO 8601) 'yyyymmddTHHMMSS'         20000301T154517
           31              'yyyy-mm-dd HH:MM:SS'     2000-03-01 15:45:17eg.
    >> t=now;datestr(t,0)ans =09-May-2008 21:07:233.date將字符串轉換成日期值
    調用語法:date(year,month,day)
              datenum(year,month,day,hour,minute,second)
    eg.>> t=now;datestr(t,0)ans =09-May-2008 21:07:23>> datenum(ans)
    ans =7.3354e+005>>4.datevec將datestr中指定的格式日期字符轉換成包含日期分量的數值向量
    eg.
    >>c=datevec('09-May-2008 21:07:23')c =         2008            5            9           21            7           23
    5.weekday 可從一個日期值或字符串中找出具體的日子和星期。
    eg.
    >> [d,w]=weekday( 7.3354e+005)d =      2
    w =Mon>>[d,w]=weekday('21-Dec-2008')d =      1
    w =Sun6.eomday 返回任何一個月最后一天是幾號
    調用語法:eomday(year,month) 因為閏年的存在故需要year這個參數。
    eg.>> eomday(2008,2)ans =     29>> eomday(2007,2)ans =     287.calendar 生成指定月份的日歷。
    eg
    >> calendar(date)
                        May 2008
          S      M     Tu      W     Th      F      S
          0      0      0      0      1      2      3
          4      5      6      7      8      9     10
         11     12     13     14     15     16     17
         18     19     20     21     22     23     24
         25     26     27     28     29     30     31
          0      0      0      0      0      0      0
    >> calendar(2008,5)
                        May 2008
          S      M     Tu      W     Th      F      S
          0      0      0      0      1      2      3
          4      5      6      7      8      9     10
         11     12     13     14     15     16     17
         18     19     20     21     22     23     24
         25     26     27     28     29     30     31
          0      0      0      0      0      0      0>>
    補充:date返回當天日期的字符串
    eg.
    >> dateans =09-May-20088.tic ,toc 兩個結合使用可計算一組matlab操作指令的執行所需時間
    eg.
    >> tic; plot(rand(500,5));toc
    Elapsed time is 0.078000 seconds.
    另外Matlab還提供了cputime和etime(具體使用方法可看幫助文檔),用來計算一次運算所占cpu時間.
    eg.
    >>t0=cputime;myoperation;cputime-t0
    ans=0.1400
    >>t1=clock;myoperation;etime(clock,t1)
    ans=11.2800
    注:myoperation為用戶自定義腳本文件
    >> t0=cputimet0 =    53.8125>> t1=cputimet1 =    54.0313>> deltaT=t1-t0deltaT =     0.2188
    >> t1=clockt1 =1.0e+003 *     2.0080     0.0050     0.0090     0.0210     0.0460     0.0254>> deltaT=etime(t1,t0)deltaT =     9.9060>>
    9.datetick 設一個坐標為時間標簽eg.
    >> t=(1900:10:1990)';
    >> p=[100 200 150 350 200 400 500 100 30 120];
    >> plot(datenum(t,1,1),p);
    >> datetick('x','yyyy')
    >> title('test time tip')

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 内射口爆少妇麻豆| 亚洲中文字幕国产精品| 国产乱女乱子视频在线播放| 亚欧洲乱码视频一二三区| 欧美成人午夜在线观看视频| 疯狂做受XXXX高潮国产| 欧美亚洲高清国产| 精精国产XXX在线观看| 1000部拍拍拍18勿入免费视频| 国产精品人妻久久无码不卡| 亚洲男女一区二区三区| 波多野结衣乳巨码无在线观看 | 久久久久亚洲AV成人网人人软件| 亚洲AV片一区二区三区| 四虎在线成人免费观看| 草裙社区精品视频播放| 波多野结衣中文字幕久久| 欧美丰满熟妇xxxx性| 国产亚洲AV电影院之毛片| 国产99视频精品免视看9| 亚洲爆乳无码一区二区三区| 国产在线一区二区不卡| 自偷自拍亚洲综合精品| 成人午夜在线观看日韩| 日本高清视频色WWWWWW色| 午夜无码片在线观看影院A| 亚洲人妻系列中文字幕| 亚洲高清最新AV网站| 日韩日韩日韩日韩日韩| 十八禁午夜福利免费网站| 在线天堂中文官网| 九九在线精品国产| 欧美黑人又大又粗XXXXX| 亚洲人成网线在线播放VA| 亚洲欧美日韩国产综合一区二区| 麻豆果冻传媒2021精品传媒一区| 内射女校花一区二区三区 | 亚洲中文在线精品国产| 成人爽A毛片在线视频淮北| 国产精品国三级国产av| 人人妻人人添人人爽欧美一区|