How to access data of an iddata object in a cell array?

10 views (last 30 days)
Dear Matlab community!
I have a cell array where I store iddata objects with input signals and output signals. How can I inquire the input variable of the iddata object inside the cell array?
Best regards
Benjamin

Accepted Answer

Star Strider
Star Strider on 5 Dec 2022
The iddata object is a structure, so in this instance, use cell array indexing and structure referencing to get its contents —
Fs = 500;
L = 50;
t = linspace(0, L-1, L).'/Fs;
u = [0 ones(1,L-1)].';
sys = tf([1 0], [1 0 1], 1/Fs);
y = lsim(sys, u, t);
% figure
% plot(t, y)
% hold on
% plot(t, u)
% hold off
% grid
k = 1;
data{k} = iddata(y, u, 1/Fs)
data = 1×1 cell array
{50×1×1 iddata}
Input = data{k}.InputData % Return Input Data From Cell Array Of 'iddata' Objects
Input = 50×1
0 1 1 1 1 1 1 1 1 1
I created data to test this, since none were provided.
.

More Answers (0)

Categories

Find more on Data Distribution Plots 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!