reconciling zpk output?

1 次查看(过去 30 天)
Jeff
Jeff 2017-5-14
I have included a SIMSCAPE model of a 3 DOF system in the attached ZIP file along with the necessary input data. In the jpg schematic below I have highlighted the signals which I transformed using the zpk command. The signals highlighted in blue & green in the schematic yield identical transforms shown in the output below. I then subtract the 2 signals & transform that signal highlighted in red. If linearity is valid then should the transform of the red signal = 0? The output of zpk does not give 0 but what looks like a 3 DOF system with 2 complex conjugate pole pairs & a real pole with a low frequency gain of 0.090058.
The results below were obtained by executing zpk(SIMULINKbode.values)
(s^2 + 2200s + 1.25e08)
Mass 0 X: -------------------------------------------------
(s^2 + 1138s + 1.964e07) (s^2 + 3062s + 1.273e08)
(s+600) (s^2 + 2200s + 1.25e08)
Free node X: ---------------------------------------------------------
(s+600) (s^2 + 1138s + 1.964e07) (s^2 + 3062s + 1.273e08)
0.090058
X0-X1: ---------------------------------------------------------
(s+600) (s^2 + 1138s + 1.964e07) (s^2 + 3062s + 1.273e08)
Can anyone account for this or reconcile the discrepancy?
I have included the .slx model along with the necessary input data in the .zip file to allow you to experiment with the results. Let me know if anything is missing & I will provide it.
Thanks for any assistance
  4 个评论
Jeff
Jeff 2017-6-3
I have had NO responses on this matter whatsoever. Is there anything I need to provide or is the matter too open-ended?
If anyone has attempted to address this & they are getting errors it is likely due to the lack of input values & data. If you experience this you need to import the contents of the data.mat into your WORKSPACE prior to running the models. Maybe I should have specified that up front, but I assumed those who are examining this would already realize that a priori. I might have assumed too much.
Walter Roberson
Walter Roberson 2017-6-4
People with simscape experience seldom post on MATLAB Answers. As far as I know none of hundred or so most active volunteers have simscape experience (or not much of it.)

请先登录,再进行评论。

回答(1 个)

Jeff
Jeff 2017-6-4
I believe I found the source of the problem, but I do not know how to deal with it. It appears that the ZEROS of X0 & X1 are not exactly the same. They should be, but at 10^10 they do differ. You can see this by running the following code after running the .slx model:
TF=zpk(SIMULINKbode.values)
z=TF(:,1).z;
z3=cell2mat(z(3));
z9=cell2mat(z(9));
zdiff=z3-z9(1:2);
Inspection of zdiff shows the difference. Analytically, X0 & X1 should be identical. In fact, subtracting the 2 signals in the time domain shows this:
x.signals.values(:,3)-x.signals.values(:,4);
So transforming into the frequency domain introduces numerical error. What is the best strategy to avoid this or do I simply have to live with it?

类别

Help CenterFile Exchange 中查找有关 Nonlinear Operators 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by