How to deal with the time response of first order system?
6 views (last 30 days)
There is a system of differential equations:
where tau*a'+a=a*. I used to deal with the time response tau in simulink.
Now how to deal with the time response of first order system in matlab by code? Is there a way to solve the problem? Thank you.
Sam Chak on 21 Apr 2022
@Cola, let's correct your Simulink model first.
The ODE is given by
which can be rearranged into
Integrating both sides and is obtained:
Technically it means that the signal after the integrator block (1/s) is , and that is the output of the system.
To obtain , you need to properly get the integrand, a function that is to be integrated:
So you should perform the subtraction first, and then it multiply with using the Gain block. The signal from the Gain block is fed into the Integrator block (1/s).
If , then the MATLAB code looks something like this:
tau = 1;
% 1st-order Ordinary differential equation
fcn = @(t, x) [(1 - x)/tau];
tspan = [0 10];
init = 0; % initial condition
% Runge-Kutta Dormand-Prince 4/5 solver
[t, x] = ode45(fcn, tspan, init);
title('Time response of the system')