MATLAB Answers

Save each vector (of different length) produced by a for loop

6 ビュー (過去 30 日間)
Olivia Booth-Howe
Olivia Booth-Howe 2019 年 6 月 17 日
Commented: Star Strider 2019 年 6 月 18 日
Hello everyone,
Thanks for reading my question.
I have a for loop that generates a vector "H" that is a different size every time the loop runs. I am trying to save "H" with a different name every time in order to find the smallest "H" produced by the loop and eventually interpolate all the data onto the grid of the shortest "H" vector.
This is my code
for m=B1(1:end,:)
for n = B2(1:end,:)
for p=1:length(B1)
H=find(time_dec > m(p) & time_dec < n(p));
B1 and B2 mark the start and stop times (around 3-5, differing each time) that I am cutting H from. Therefore, I make 3-5 different H vectors every time that mark different time slices from a massive data set, because I am only looking at variables within those time frames. I can clarify any of this if that helps.
Does anyone know how I can save a new vector every time I create an H vector? Thank you so much!!!

  0 件のコメント

サインイン to comment.


Star Strider
Star Strider 2019 年 6 月 17 日
I’m not certain what you’re doing.
I would do something like this:
H{m(p),n(p)} = find(time_dec > m(p) & time_dec < n(p));
That creates a cell array, and cell arrays can have anything in them, most significantly here, different sized vectors in the cell array elements. The problem is to find a way of referring to the cell array elements so you can access them easily in the context of what you want to do with them. I chose referring to them in terms of the elements you are comparing. You obviously have the final say on the best approach.

  2 件のコメント

Olivia Booth-Howe
Olivia Booth-Howe 2019 年 6 月 18 日
Thank you!
Star Strider
Star Strider 2019 年 6 月 18 日
As always, my pleasure!

サインイン to comment.

More Answers (0)

サインイン してこの質問に回答します。


Translated by