I am trying to find the integral gain (ki) of the following transfer function.

6 ビュー (過去 30 日間)
Cathy Pakrath
Cathy Pakrath 2022 年 5 月 17 日
回答済み: Star Strider 2022 年 5 月 17 日
This is my code,
syms ki
sys = tf([30.672 175.694*ki],[1 38.672 175.694*ki]);
S = stepinfo(sys);
subplot(2,1,1)
step(sys)
However it's showing the error:
Error using tf (line 303)
The values of the "Numerator" and "Denominator" properties must be row vectors or cell arrays of row vectors, where each vector is nonempty and containing numeric data. Type "help tf.num" or "help tf.den" for more information.

回答 (2 件)

VBBV
VBBV 2022 年 5 月 17 日
編集済み: VBBV 2022 年 5 月 17 日
syms ki
ki = 10 % e.g numeric values , not symbolic
ki = 10
sys = tf([30.672 175.694*ki],[1 38.672 175.694*ki]);
S = stepinfo(sys);
subplot(2,1,1)
step(sys)
As the error states num and den vectors should be numeric, and not symbolic as you defined.

Star Strider
Star Strider 2022 年 5 月 17 日
Symbolic variables are not permitted in Control System Toolbox objects, however anonymous functions are.
Try this —
sys = @(ki) tf([30.672 175.694*ki],[1 38.672 175.694*ki]);
ki = 42;
S = stepinfo(sys(ki))
S = struct with fields:
RiseTime: 0.0130 TransientTime: 0.1931 SettlingTime: 0.1931 SettlingMin: 0.7501 SettlingMax: 1.5173 Overshoot: 51.7266 Undershoot: 0 Peak: 1.5173 PeakTime: 0.0333
subplot(2,1,1)
step(sys(ki))
The value of ‘ki’ can be whatever you want, and you can use ‘sys’ here as an anonymous function as an argument to integration and optimisation functions.
.

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by