-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTpto_ramp.m
47 lines (46 loc) · 1.48 KB
/
Tpto_ramp.m
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
% Tpto_ramp.m function m-file
% AUTHORS:
% Jeremy Simmons (email: [email protected])
% University of Minnesota
% Department of Mechanical Engineering
%
% CREATION DATE:
% 6/15/2022
%
% PURPOSE:
% This function provides a function of time defined by values specified at
% a fixed interval. The value of the function is linearly interpolated
% between the fixed intervals and, beyond the range of specified values,
% takes the value of the last value specified.
%
% FUNCTION M-FILES
%
% UPDATES
% 6/15/2022 - created.
%
% Copyright (C) 2022 Jeremy W. Simmons II
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program. If not, see <https://www.gnu.org/licenses/>.
%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Tpto = Tpto_ramp(t,Tbar,dt)
N = length(Tbar);
n = floor(t/dt)+1;
if n < N
d = mod(t,dt)/dt;
Tpto = d*(Tbar(n+1) - Tbar(n)) + Tbar(n);
else
Tpto = Tbar(N);
end
end