MATLAB Answers

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

11 views (last 30 days)
susman on 3 Mar 2021
Commented: Star Strider on 4 Mar 2021
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?

Accepted Answer

Star Strider
Star Strider on 3 Mar 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)
hold on
for k = 1:numel(StateFrequency)
hold off
grid on
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!