Filter löschen
Filter löschen

Plotting the data in the given file over time period and tabulating the results

1 Ansicht (letzte 30 Tage)
I have a model with 10 states and I have frequency of each state over time. The data is stored in a cell array, where each cell of the array has 1x10 values, each value for one state(only for first time period I have 1x7 values). I have attached it in the mat file.
I want to do two things:
1) I want to plot these frequencies over the time time for each state. I am not sure how to do it because the data is in cell array.
2) I want to tabulate these frequencies and make it presentable so that I can document my results, but commands like tabulate(data) does not work.
Please can anyone help me in this?

Akzeptierte Antwort

Star Strider
Star Strider am 3 Mär. 2021
I have no idea what you want the result to be.
Try this:
D1 = load('data.mat');
StateFrequency = D1.StateFrequency;
Col1 = NaN(10,1);
Col1(1:numel(StateFrequency{1})) = StateFrequency{1};
StateFreq = [Col1, cell2mat(StateFrequency(2:end))];
T1 = array2table(StateFreq);
FirstFiveVariables = T1(:,1:5)
figure
hold on
for k = 1:numel(StateFrequency)
plot(StateFrequency{k})
end
hold off
grid
figure
ribbon(StateFreq)
grid on
xlabel('Column')
ylabel('Frequency')
zlabel('Amplitude')
There are two plots, the first is a 2D line plot and the second is a 3D ribbon plot.
The ‘FirstFiveVariables’ table excerpt displays the first five variables in the table. It is not necessary for the rest of the code, and can be deleted.
  4 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by