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)

Categories

Find more on Electrical Sensors in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!