MATLAB Answers

0

Store arrays produced by for loop

Olivia Booth-Howe さんによって質問されました 2019 年 7 月 1 日
最新アクティビティ Jan
さんによって コメントされました 2019 年 7 月 2 日
Hello,
I am writing a script that produces an array, vq, every iteration through a loop. I am trying to save each version of vq so I can compare each vq row by row later on. I suppose storing each vq as a column in a matrix would be ideal since each vq is the same length. 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));
[Alt,index]=unique(Alt(H));
temp=Temp(H);
xq=30.5:17.5:2000;
vq=interp1(Alt,temp(index),xq)';
end
end
end
Any suggestions?
Thank you very much.

  5 件のコメント

Olivia Booth-Howe 2019 年 7 月 1 日
The code works fine to produce the vq I want, I just need to save it as a matrix and simply putting vq(p) (how I would usually do it) doesn't work here. Thanks again!
Jan
2019 年 7 月 1 日
"Doesn't work" is not useful to describe a problem.
This looks strange:
for m=B1(1:end,:)
"They are vectors of length 2, 3, 4, 5, or 6." - please post their size(). It matters, if they are row or column vectors.
Olivia Booth-Howe 2019 年 7 月 1 日
Solved it! Thanks anyway.

サインイン to comment.

1 件の回答

回答者: KALYAN ACHARJYA 2019 年 7 月 1 日
編集済み: KALYAN ACHARJYA 2019 年 7 月 1 日
 採用された回答

-The code works fine to produce the vq I want, I just need to save it as a matrix and simply putting vq(p)-
You can save it as structure cell array, as I have no idea of the length of vq would be. Hence I have choosen different variable I.
vq={}
l=1;
for
.......
vq{l}=
l=l+1
end
or
If the length is p, then you can use vq{p}=.. too. On such case remove l.
vq={}
for
.......
vq{p}=
end

  3 件のコメント

Olivia Booth-Howe 2019 年 7 月 1 日
That is exactly what I needed, thank you so much! I really appreciate it.
KALYAN ACHARJYA 2019 年 7 月 1 日
Always welcome @Olivia
Jan
2019 年 7 月 2 日
+1. Exactly.

サインイン to comment.



Translated by