Borrar filtros
Borrar filtros

plot data from cell array cellfun()

14 visualizaciones (últimos 30 días)
James
James el 31 de Mzo. de 2020
Respondida: Walter Roberson el 31 de Mzo. de 2020
Hi,
I concatentated cell arrays using: C1 = {};
to get a cell array that is 1x15 with the following:
In cells 1 to 3 there are 8x1 cells
In cells 2 to 6 there are 2x1 cells
In cells 7 to 9 there are 6x1, 2x1, 2x1 cells
In cells 10 to 12 there are 2x1, 1x1, 2x1 cells
In cells 13 to 15 there are 2x1, 1x1, 2x1 cells
I'm trying to plot each row of the cell array within the overall cell array C1 using this:
figure
hold on
cellfun(@(C1) plot(C1(1,:)),'o-',C1)
hold on
cellfun(@(C1) plot(C1(2,:)),'o-',C1)
All the way to row 8 as there are 8 rows in C1.
Does anyone have suggestions as I've tried cell2mat but since the columns have different lengths I can't horizontal concatentate the different lengths so I used the cell arrays?
I want to plot each row with a different color.
Thanks
  4 comentarios
Mohammad Sami
Mohammad Sami el 31 de Mzo. de 2020
Editada: Mohammad Sami el 31 de Mzo. de 2020
I am not sure what you mean plot all rows, since each nested cell only has one value per row.
if you just want to concatentate everything you can do as follows.
c2 = vertcat(C{:});
c2 = cell2mat(c2);
plot(c2);
James
James el 31 de Mzo. de 2020
If I concatenate everything, I can’t plot by rows, because not every nested cell has the same length. Is this correct?

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 31 de Mzo. de 2020
hold on;
cellfun(@(C1) plot(cell2mat(C1), 'o-'), C);
hold off

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by