How to extract idpoly property to workspace

5 ビュー (過去 30 日間)
demos serghiou
demos serghiou 2022 年 12 月 31 日
回答済み: Star Strider 2022 年 12 月 31 日
Hi, how can I extract and put in my workspace variable A and NoiseVariance from idpoly to do further processing?

採用された回答

Star Strider
Star Strider 2022 年 12 月 31 日
There are several properties that can be retrieved from the System Identification Toolbox ‘data’ objects. See the documentation on idpoly and others for details.
Try something like this —
LD = load(websave('idpoly','https://www.mathworks.com/matlabcentral/answers/uploaded_files/1248207/idpoly.mat'))
LD = struct with fields:
a: [1×0 idpoly]
a = LD.a
a = Discrete-time AR model: A(z)y(t) = e(t) A(z) = 1 + (-7.954 - 0.3i) z^-1 + (26.36 + 2.3i) z^-2 + (-45.35 - 7.6i) z^-3 + (38.88 + 13i) z^-4 + (-7.968 - 12i) z^-5 + (-8.478 + 6.2i) z^-6 + (-3.663 - 2.7i) z^-7 + (11.26 + 2.5i) z^-8 + (0.9163 + 0.051i) z^-9 + (-7.189 - 2.7i) z^-10 + (-4.175 + 0.46i) z^-11 + (12.39 + 3.7i) z^-12 + (-4.697 - 5.7i) z^-13 + (-6.017 + 3.4i) z^-14 + (6.773 + 3.6i) z^-15 + (-1.439 - 10i) z^-16 + (-1.529 + 11i) z^-17 + (1.173 - 5.9i) z^-18 + (-0.3192 + 1.7i) z^-19 + (0.0307 - 0.21i) z^-20 Sample time: 1 seconds Parameterization: Polynomial orders: na=20 Number of free coefficients: 20 Use "polydata", "getpvec", "getcov" for parameters and their uncertainties. Status: Estimated using AR ('burg/now') on time domain data (complex) "est_x1". Fit to estimation data: 100% FPE: 2.355e-25, MSE: 2.008e-25
Coefficients = a.A
Coefficients =
1.0000 + 0.0000i -7.9541 - 0.2965i 26.3582 + 2.3178i -45.3509 - 7.5709i 38.8797 +13.0764i -7.9676 -12.3483i -8.4781 + 6.1760i -3.6634 - 2.7037i 11.2582 + 2.5171i 0.9163 + 0.0513i -7.1889 - 2.6674i -4.1745 + 0.4615i 12.3895 + 3.7428i -4.6974 - 5.6726i -6.0167 + 3.4192i 6.7730 + 3.5819i -1.4387 -10.4534i -1.5295 +10.7850i 1.1733 - 5.9423i -0.3192 + 1.7405i 0.0307 - 0.2143i
Variable = a.Variable
Variable = 'z^-1'
Structure = a.Structure
Structure = A: [1×1 param.Continuous] IODelay: [1×0 double] IntegrateNoise: 0 AR model structure.
You can use the ‘Coefficients’ vector with polyval to evaluate it.
t = linspace(0, 1.5, 150);
A = polyval(Coefficients, t);
figure
plot(t, real(A), 'DisplayName','Re(A)')
hold on
plot(t, imag(A), 'DisplayName','Im(A)')
plot(t, abs(A), 'DisplayName','|A|')
hold off
grid
legend('Location','best')
.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by