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

5 views (last 30 days)
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');

Accepted Answer

Amir RF
Amir RF on 10 Dec 2020
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 Comments
Amir RF
Amir RF on 10 Dec 2020
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,
Lucy Beksinska
Lucy Beksinska on 10 Dec 2020
Thank you for your help. I have also restarted the MATLAB app and the error has gone!
regards, lucy

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!