MatLab Code for Time Calculation
From stgo
Overview
This page contains a sample matlab code used to convert time of the data obtained from bear 272 into seconds
(Return to Home Range Calculation Manual.)
Main
%load in text files
data = load('Times.txt');
date = load ('Date.txt');
% 762 = number of rows of the data. this value will vary from bear to bear
seconds = zeros(762,1);
seconds2 = zeros(762,1);
DayOfYear = zeros (762,1);
for i = 1:762
seconds (i,1) = ConvertToSec(data(i,1), data(i,2), data(i,3));% this conver hr-min-sec to seconds
DayOfYear (i,1) = day(date(i,1), date(i,2), date(i,3));% calculate the number of day of the year
seconds2 (i,1) = ConvertMD(DayOfYear (i,1), seconds (i,1));%convert month-day-hr-min-sec into seconds
end
Function:ConverToSec
% This function will convert hr-min-secs into secs function result = ConvertToSec(h,m,s) result = s + m * 60 + h * 3600;
Function:day
function NumOfDay = day(Month, Day, Year)
%converting month and day into number of days
if ((mod(Year, 4) == 0 && mod(Year,100)~= 0) || mod(Year,400) == 0)
%This is leap year. Therefore Feb would have 29 days
if Month == 1
NumOfDay = Day;
end %if month = 1
if Month == 2
NumOfDay = 31 + Day;
end % if month = 2
if Month == 3
NumOfDay = 31 + 29 + Day;
end % if month = 3
if Month == 4
NumOfDay = 31 * 2 + 29 + Day;
end % if month = 4
if Month == 5
NumOfDay = 31 * 2 + 30 + 29 + Day;
end % if month = 5
if Month == 6
NumOfDay = 31 * 3 + 30 + 29 + Day;
end % if month = 6
if Month == 7
NumOfDay = 31 * 3 + 30 * 2 + 29 + Day;
end % if month = 7
if Month == 8
NumOfDay = 31 * 4 + 30 * 2 + 29 + Day;
end % if month = 8
if Month == 9
NumOfDay = 31 * 5 + 30 * 2 + 29 + Day;
end % if month = 9
if Month == 10
NumOfDay = 31 * 5 + 30 * 3 + 29 + Day;
end %if month = 10
if Month == 11
NumOfDay = 31 * 6 + 30 * 3 + 29 + Day;
end %if month = 11
if Month == 12
NumOfDay = 31 * 6 + 30 * 4 + 29 + Day;
end % if month = 12
else
if Month == 1
NumOfDay = Day;
end %if month = 1
if Month == 2
NumOfDay = 31 + Day;
end % if month = 2
if Month == 3
NumOfDay = 31 + 28 + Day;
end % if month = 3
if Month == 4
NumOfDay = 31 * 2 + 28 + Day;
end % if month = 4
if Month == 5
NumOfDay = 31 * 2 + 30 + 28 + Day;
end % if month = 5
if Month == 6
NumOfDay = 31 * 3 + 30 + 28 + Day;
end % if month = 6
if Month == 7
NumOfDay = 31 * 3 + 30 * 2 + 28 + Day;
end % if month = 7
if Month == 8
NumOfDay = 31 * 4 + 30 * 2 + 28 + Day;
end % if month = 8
if Month == 9
NumOfDay = 31 * 5 + 30 * 2 + 28 + Day;
end % if month = 9
if Month == 10
NumOfDay = 31 * 5 + 30 * 3 + 28 + Day;
end %if month = 10
if Month == 11
NumOfDay = 31 * 6 + 30 * 3 + 28 + Day;
end %if month = 11
if Month == 12
NumOfDay = 31 * 6 + 30 * 4 + 28 + Day;
end % if month = 12
end %if function
Function:ConvertMD
%This Program will convert date (Month, day) and hour-min-sec into seconds %This is done by first converting month and day into number of days (done in function called day) and %then its converted into seconds, finally its added to the results %produced from the first function function Result2 = ConvertMD(NumOfDay, Result) Result2 = NumOfDay * 24 * 3600 + Result ; end % function
--Cqiao 21:28, 21 June 2010 (UTC)