How to manipulate cell array of vectors (just numbers ) that are not same length?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I want to plot cell array M{k} that has vectors of different size. How to do it ?
How to transpose it ?
plot(M{:}) returns error.
M{k}
[1, 2]
[1,3 , 5]
[1,3,5,6,7]
[1]
etc..
2 Kommentare
John BG
am 25 Mär. 2016
can you attach the cell or a sample so readers can try to answer your question?
James Tursa
am 25 Mär. 2016
How are you envisioning that this data should look like on the plot? I.e., if you weren't getting an error, what would you expect the plot to look like? What points or lines would be there for your representative data above?
Antworten (2)
Stalin Samuel
am 25 Mär. 2016
- Your file has a cell array which contains different length data in each cell
- if you wants to plot a specific cell data you can use the below code
plot(cell2mat(M1(1,100)))% to plot data in 100th cell
0 Kommentare
Image Analyst
am 25 Mär. 2016
Bearbeitet: Image Analyst
am 25 Mär. 2016
Try this:
M={[1, 2]
[1,3 , 5]
[1,3,5,6,7]
[1]}
for k = 1 : length(M)
M{k}
plot(M{k}, 'b*', 'MarkerSize', 13, 'LineWidth', 2);
hold on;
end
grid on;
xlabel('Index', 'fontSize', 20);
ylabel('Value', 'fontSize', 20);
If you want, you could plot each cell in a different color, like
plot(M{k}, 'b*', 'MarkerSize', 13, 'LineWidth', 2, 'Color', rand(1,3));
0 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!