# Is it possible to create a transfer function in Matlab with unknown constants

14 visualizzazioni (ultimi 30 giorni)
Dario il 4 Apr 2023
Risposto: Sam Chak il 4 Apr 2023
Is it possible to create a transfer function in Matlab with unknown constants for example:
G = tf([1 2],[4 K 2 T]);
##### 2 CommentiMostra NessunoNascondi Nessuno
Dyuman Joshi il 4 Apr 2023
Do you wish to substitute (scalar) values for K and T?
Askic V il 4 Apr 2023
In general, control system toolbox and tf function doesn't support symbolic variables.

Accedi per commentare.

### Risposte (2)

Walter Roberson il 4 Apr 2023
No.
What is possible is to create control systems with tunable parameters. A tunable parameter always has a specific value at any given time, but the set up allows the parameter to be changed easily and supports automatic tuning procedures.
In order to process with a variable that does not have a specific value then you need to use the symbolic toolbox and laplace transforms.
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

Sam Chak il 4 Apr 2023
Not exactly sure what you meant by the unknown constants of K and T.
Equivalent state-space model
If they are tunable parameters, then you can create an equivalent state-space model:
K = 3; % parameter 1
T = 1; % parameter 2
A = [0 1 0;
0 0 1;
-T/4 -2/4 -K/4]; % state matrix
B = [0; 0; 1]; % input matrix
C = [2/4 1/4 0]; % output matrix
D = 0; % direct matrix
sys = ss(A, B, C, D); % state-space model
G1 = tf(sys) % convert to transfer function
G1 = 0.25 s + 0.5 ----------------------------- s^3 + 0.75 s^2 + 0.5 s + 0.25 Continuous-time transfer function.
G = tf([1 2],[4 K 2 T]) % original transfer function
G = s + 2 ----------------------- 4 s^3 + 3 s^2 + 2 s + 1 Continuous-time transfer function.
G2 = minreal(G) % minimal realization of G
G2 = 0.25 s + 0.5 ----------------------------- s^3 + 0.75 s^2 + 0.5 s + 0.25 Continuous-time transfer function.
It is clear that the state-space that produces has the same transfer function as .
Uncertain systems
If K and T are uncertain parameters with known nominal values, then you can consider this approach:
T = ureal('T', 1, 'PlusMinus', 0.5);
K = ureal('K', 3, 'Range', [2, 4]);
usys = tf([1 2], [4 K 2 T])
Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 3 states. The model uncertainty consists of the following blocks: K: Uncertain real, nominal = 3, range = [2,4], 1 occurrences T: Uncertain real, nominal = 1, variability = [-0.5,0.5], 1 occurrences Type "usys.NominalValue" to see the nominal value and "usys.Uncertainty" to interact with the uncertain elements.
bodemag(usys)
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Numeric Linear Time-Invariant Models in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by