Transfer Functions

In MATLAB, transfer functions are a fundamental concept for modeling and analyzing linear time-invariant (LTI) systems. You can represent transfer functions using various methods provided by MATLAB. Here are a few common ways to create and manipulate transfer functions:

1. Using the tf Function:

The tf function creates a transfer function model from the numerator and denominator coefficients.

Example:

matlab
% Define numerator and denominator coefficients
numerator = [1 3];       % Coefficients of the numerator polynomial
denominator = [1 5 6];   % Coefficients of the denominator polynomial

% Create transfer function
sys = tf(numerator, denominator);

% Display transfer function
disp('Transfer Function:');
disp(sys);

2. Using the s Variable:

The tf function can also be used with symbolic variables for a more readable representation.

Example:

matlab
% Define the transfer function using 's' variable
s = tf('s');
sys = (s + 3) / (s^2 + 5*s + 6);

% Display transfer function
disp('Transfer Function:');
disp(sys);

3. Using the zpk Function:

The zpk function creates a transfer function model in zero-pole-gain form.

Example:

matlab
% Define zeros, poles, and gain
zeros = [-3];
poles = [-2 -3];
gain = 1;

% Create transfer function in zero-pole-gain form
sys = zpk(zeros, poles, gain);

% Display transfer function
disp('Zero-Pole-Gain Form:');
disp(sys);

4. Using the ss Function:

The ss function creates a transfer function model in state-space form, which can then be converted to a transfer function.

Example:

matlab
% Define state-space matrices
A = [0 1; -6 -5];
B = [0; 1];
C = [1 0];
D = 0;

% Create state-space model
sys_ss = ss(A, B, C, D);

% Convert state-space model to transfer function
sys_tf = tf(sys_ss);

% Display transfer function
disp('Transfer Function from State-Space:');
disp(sys_tf);

5. Plotting the Transfer Function Response:

You can analyze the transfer function by plotting its response using functions like bode, step, and impulse.

Example:

matlab
% Define transfer function
numerator = [1 3];
denominator = [1 5 6];
sys = tf(numerator, denominator);

% Plot Bode plot
figure;
bode(sys);
title('Bode Plot');

% Plot Step response
figure;
step(sys);
title('Step Response');

% Plot Impulse response
figure;
impulse(sys);
title('Impulse Response');