How to manipulate cell array of vectors (just numbers ) that are not same length?

1 次查看(过去 30 天)
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 个评论
James Tursa
James Tursa 2016-3-25
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?

请先登录,再进行评论。

回答(2 个)

Stalin Samuel
Stalin Samuel 2016-3-25
  • 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

Image Analyst
Image Analyst 2016-3-25
编辑:Image Analyst 2016-3-25
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));

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by