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

조회 수: 1 (최근 30일)
Ole
Ole 2016년 3월 25일
편집: Image Analyst 2016년 3월 25일
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
John BG
John BG 2016년 3월 25일
can you attach the cell or a sample so readers can try to answer your question?
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