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

2 ビュー (過去 30 日間)
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?

採用された回答

Star Strider
Star Strider 2021 年 3 月 3 日
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 件のコメント
susman
susman 2021 年 3 月 4 日
This is super helpful. Many thanks :)
Star Strider
Star Strider 2021 年 3 月 4 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by