Multidimensional array, extracting the Nth dimension

Hi all
I have an array of doubles A which has size [6,8,88].
I want to plot the vector A[1,1,:], but I get the following error:
Error using plot. Data may not have more than 2 Dimensions.
I thought that the operation A[1,1,:] would return a simple vector of length 88, as suggested by the tutorial page here
but it actually has size [1,1,88], which is causing the error.
I've thought of using a loop to extract each element, but this doesn't suit my purpose very well, as I would also like to plot A[i,j,:] for arbitrary i,j, and also perform other operations on these vectors.
Is there a simple way to access the vector A[i,j,:], and have it return a true vector?
I've reproduced the problem with a simpler example, which gives the same error.
A = zeros(3,3,4)
plot(1:4, A(1,1,:))
Sorry for simple question, I'm fairly new at this.
Many thanks for your help
Dave

 採用された回答

Iain
Iain 2013 年 6 月 20 日

8 投票

plot(1:4, squeeze(A(1,1,:)))
You might need to transpose the squeezed A, I can't remember :P

2 件のコメント

David
David 2013 年 6 月 20 日
This solutions seems to suit my purpose best, many thanks for very fast reply. This forum is amazing!
the cyclist
the cyclist 2013 年 6 月 20 日
A big part of getting a fast, useful reply was that you formulated your question clearly and specifically.

サインインしてコメントする。

その他の回答 (2 件)

the cyclist
the cyclist 2013 年 6 月 20 日

2 投票

You could use the permute command:
A_plot = permute(A(1,1,:),[3 1 2]);
to shuffle the 3rd dimension to become the first dimension.
the cyclist
the cyclist 2013 年 6 月 20 日

1 投票

You could use the reshape command:
A_plot = reshape(A(1,1,:),88,1);
to create reshape to 88x1. More robust, in case the 3rd dimension is not always 88 in length, would be
A_plot = reshape(A(1,1,:),[],1);
which infers the length of the first dimension from the number of elements.

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2013 年 6 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by