Creating a Matrix with for loop

2 ビュー (過去 30 日間)
Diego Yanez
Diego Yanez 2013 年 1 月 16 日
I have a fairly large vector named blender (45,000+). I have extracted n elements for which blender is greater than b (irrelevant). Now my difficulty is the following:
I am trying to create a 21 x n matrix with each extracted element of blender plus 10 things before, and the 10 things after, hence the reason why each column is 21.
I have been trying variations of the following:
element=find(blender >= 120);
NewMatrix = zeros(21, length(element));
for i = 1:length(element)
k = element(i);
NewMatrix(:,i)= Matrix(blender(k-10:k+10));
end
then I want to plot one column of the matrix at the time when I hit Enter. This second part I can figure out later, but I would appreciate some help making the Matrix
Thanks

採用された回答

Cedric
Cedric 2013 年 1 月 16 日
編集済み: Cedric 2013 年 1 月 16 日
If I understand well and if you want to keep it simple with an explicit for loop, what you want to do is something like that I guess:
element=find(blender >= 120);
NewMatrix = zeros(21, length(element));
for ii = 1:length(element)
k = element(ii);
r = max(1, k-10) : min(length(blender), k+10) ; % Range of indices +/- 10
% limited to valid ids.
NewMatrix(1:length(r),ii) = blender(r); % Store blender on the
% valid range; next
% elements left to 0.
end
Cheers,
Cedric
  4 件のコメント
Diego Yanez
Diego Yanez 2013 年 1 月 17 日
Any chance you can help with the second part of my question. I want to plot one column of NewMatrix at the time, cycling through the next column when I hit Enter. This is as far as I got:
for j=1:length(element)
figure(1)
plot(NewMatrix(:,j),'bo--')
grid on
keyboard
end
This stops at the first column, but does not keep cycling
Cedric
Cedric 2013 年 1 月 17 日
Yes, replace
keyboard
with
input( 'Press a key to continue..' )

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStatistics and Machine Learning Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by