Thanks Walter for providing the proper format for my coded commands. I do not know why my browser did not do this properly.
Discrepancy in transfer functions
1 view (last 30 days)
Show older comments
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
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.
Answers (0)
See Also
Categories
Find more on Troubleshooting 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!