Index exceeds the number of array elements (1) using transfer function

I don't understand what is wrong, it's frustrating.
% set up motor with initial conditions and properties
motor.timeConstant = 0.65; % [min]
motor.gain = 0.5; % [rpm/V]
% transfer function for the motor
s = tf('s');
TFmotor_OL = motor.gain / (motor.timeConstant*s +1);
ERROR message:
>> Tutorial3controllingplant
Index exceeds the number of array elements (1).
Error in Tutorial3controllingplant (line 6)
s = tf('s');

 Akzeptierte Antwort

Amir RF
Amir RF am 10 Dez. 2020

0 Stimmen

Dear Lucy,
I run your code and I did not get any errors. Your error may be in your earlier code line (where you define s).
Best,

3 Kommentare

Thank you Amir!
This is all the code I have in this script, how do I define 's' for the TF?
You can replace
s = tf('s');
TFmotor_OL = motor.gain / (motor.timeConstant*s +1);
with
TFmotor_OL = tf(motor.gain, [motor.timeConstant 1]);
This gives you the same result.
Best,
Thank you for your help. I have also restarted the MATLAB app and the error has gone!
regards, lucy

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by