2012-09-05 318 views
1

我是新來的matlab。 我想在matlab中計算一個人在年,日,月和小時的年齡? 用戶輸入他/她的出生日期格式爲DD/MM/YYYY格式。比如我作爲27/11/1989進入我的DOB,我怎麼能找到我現在的年齡?在Matlab中計算年,年,月,小時的年齡

回答

2

你應該在這個頁面看一看:http://www.mathworks.nl/help/techdoc/matlab_prog/bspgcx2-1.html

我會使用datenum的輸入轉換成串行日期號。然後減去now,並使用datestr將結果轉換爲您想要的'DD/MM/YYYY'格式的可讀字符串。

例子:(!閱讀和理解它,看看我提供的鏈接)http://www.mathworks.nl/support/solutions/en/data/1-3W2LZP/index.html?product=SL&solution=1-3W2LZP

的完整代碼

str='27/11/1989'; 

birth_numdate=datenum(str,'DD/mm/YYYY'); 
myage=datestr(now-birth_numdate,'DD/mm/YYYY'); 

正如你所看到的,你應該使用'mm',而不是'MM'( 'MM'對應於「分鐘」而不是「月」

或者你可以使用datevec,這將使你含#years,月,日,小時,分鐘和秒的載體。

vec_myage=datevec(now-birth_numdate); 

這在我的電腦導致:

ans = 
    23.0000 8.0000 9.0000 22.0000 52.0000 7.1783 

現在走在我住哪個時區發現;)