How to a create for loop for this ?
Show older comments
data2 = data1(1:25,:);
Cc = cov(data2);
data3 = data1(26:51,:);
Cc1 = cov(data3);
data4 = data1(52:77,:);
Cc2 = cov(data4);
1 Comment
Shouldn't the indices be 26:50 and 51:75 to be consistent with the 25 rows of the 1st calculation? How many rows does your data1 matrix has?
While it's easy to write a loop, you can even do this without a loop in just one line, as long as the step is consistent and the height of the matrix is a multiple of the step.
Answers (3)
Hannes Arnar
on 28 Jan 2020
0 votes
Hannes Arnar
on 28 Jan 2020
0 votes
Paresh yeole
on 28 Jan 2020
Edited: Paresh yeole
on 28 Jan 2020
0 votes
There is inconsistency. The first covariance value is for 25 numbers and the other two are for 26 numbers. If you are looking for 25 no. sets then following loop would do.
for i =1:3
Cc(i) = cov(data(1+(i-1)*25 : 25*i,: ));
end
1 Comment
Hannes Arnar
on 28 Jan 2020
Categories
Find more on Portfolio Optimization and Asset Allocation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!