Extracting n elemnts of an array
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
II have an array with dimensions [5568X1] and I want to extract every 48 values and put it in a different array (so 5568/48=116 arrays).
I have already created a cell(116,1), and probably i need an k=1:116
do you know how can I do this?
thanks
Nikolas
0 件のコメント
採用された回答
John D'Errico
2017 年 1 月 31 日
Why do you think that you need to create 116 different arrays? This is a terrible idea, and one every novice programmer thinks they need to do. You don't even need to create a cell array of vectors. Instead, learn to use an array, instead of many vectors. Then a simple call to reshape will suffice.
b = rand(5568,1); % just something random to show you how it works
a = reshape(b,48,116);
size(a)
ans =
48 116
So now you can access any one of those vectors as simply an index operation. So if you want to use the third such vector, do this:
a(:,3)
There is absolutely NO need to use a cell array here, although it is something of value in many circumstances.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!