Info

此问题已关闭。 请重新打开它进行编辑或回答。

If statement in a for loop

2 次查看(过去 30 天)
Christoffer Benneballe
关闭: MATLAB Answer Bot 2021-8-20
Hi MathWorks
I have a simple loop, where I test in this small sample for 1:4 time periods. If the statement is true, then I would like to print 12 of the returns at a time from RI_vec to retSizeValue1. It is because the if statement is testing an argument based on an annual value, and if it is true I'd like to collect monthly returns for the following year.
The statement is only done for the first 12 observations.
I've tried adjusting line 82, where the task is to be performed, by writing (i(+12),j) but that does not work. This would just result in the statement being performed for observation 13:24.
I've attached the data, the code and a screenshot below.
All the best,
Christoffer
  2 个评论
Christoffer Benneballe
Hi Walter
Thank you for commenting with a suggesting. Do you mean i+(0:11) both in the vector to be filled - retSizeValue1 - and in the vector - ret_vec - from where the values are drawn?
I've tried to fill it out in that way, but the result is that the first 15 rows are filled - not the full 36 rows.
Did I interpret the suggestion correct?
Best wishes,
ChristofferUdklip.PNG

回答(1 个)

Image Analyst
Image Analyst 2019-12-24
Try to find an algorithm that gives you the starting and stopping indexes, then to print, use
fprintf('%f, ', RI_vec(index1:index2, j));
  1 个评论
Christoffer Benneballe
Hi Image Analyst
Thank you for your quick response.
The issue is not really to print the RI_vec, but that I do not now how to adjust the loop, such that it will take the first 1:12 rows from RI_vec, store them in the 1:12 rows of the retSizeValue1, do the same for the next 13:24 rows and again for the last 25:36 rows.
Do you know what should be adjusted?
All the best,
Christoffer

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by