Documentation

chgTimeUnit

Change time units of dynamic system

Syntax

sys_new = chgTimeUnit(sys,newtimeunits)

Description

sys_new = chgTimeUnit(sys,newtimeunits) changes the time units of sys to newtimeunits. The time- and frequency-domain characteristics of sys and sys_new match.

Input Arguments

sys

Dynamic system model

newtimeunits

New time units, specified as one of the following strings:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Default: 'seconds'

Output Arguments

sys_new

Dynamic system model of the same type as sys with new time units. The time response of sys_new is same as sys.

If sys is an identified linear model, both the model parameters as and their minimum and maximum bounds are scaled to the new time units.

Examples

expand all

Change Time Units of Dynamic System Model

Create a transfer function model.

num = [4 2];
den = [1 3 10];
sys = tf(num,den);

By default, the time unit of sys is 'seconds'. Create a new model with the time units changed to minutes.

sys1 = chgTimeUnit(sys,'minutes');

This command sets the TimeUnit property of sys1 to 'minutes', without changing the dynamics. To confirm that the dynamics are unchanged, compare the step responses of sys and sys1.

stepplot(sys,'r',sys1,'y--');
legend('sys','sys1');

The step responses are the same.

If you change the TimeUnit property of the system instead of using chgTimeUnit, the dynamics of the system do change. To see this, change the TimeUnit property of a copy of sys and compare the step response with the original system.

sys2 = sys;
sys2.TimeUnit = 'minutes';
stepplot(sys,'r',sys2,'gx');
legend('sys','sys2');

The step responses of sys and sys2 do not match. For example, the original rise time of 0.04 seconds changes to 0.04 minutes.

More About

expand all

Tips

  • Use chgTimeUnit to change the time units without modifying system behavior.

See Also

| | | | |

Was this topic helpful?