Discrepancy in transfer functions

1 view (last 30 days)
Jeff
Jeff on 3 Jun 2017
Edited: Walter Roberson on 4 Jun 2017
I have included in the .zip file a .slx model & the input data & parameters in the .mat file. You will need to import the contents of the .mat file into your WORKSPACE prior to opening the .slx model.
The .slx model is a dual mass/spring/damper system. Execute the following after running the model to obtain the transfer functions of the mass displacements.
TF=tf(SIMULINKbode.values);
z=TF(:,1).num;
zdiff=[cell2mat(z(1))-cell2mat(z(3));cell2mat(z(4));[0 0 1 b(3) c(3)]-[0 0 0 b(3) c(3)]];
tf(SIMULINKbode.values)
Below are the analytical expressions for the 2 masses and the difference between the 2:
The values for a, b, & c is listed in your WORKSPACE. Inspection of the results for X0-X1 which correlates to Y1-Y2 in the analytical expression against zdiff which represents the numerator of Y1-Y2 reveals a discrepancy. zdiff(3,:) is the correct result which concurs with the analytical results. Why are the results of zdiff(1,:) & zdiff(2,:) produced? Is this something numerical converting from the state-space representation, SIMULINKbode, to the tf representation? If so, is there any documentation about this?
  2 Comments
Jeff
Jeff on 4 Jun 2017
Thanks Walter for providing the proper format for my coded commands. I do not know why my browser did not do this properly.
Walter Roberson
Walter Roberson on 4 Jun 2017
Edited: Walter Roberson on 4 Jun 2017
When you enter code, afterwards you should highlight the block of code and click on the '{} Code' button.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!