Info

This question is closed. Reopen it to edit or answer.

How can I get the input for several regressions?

1 view (last 30 days)
Ana
Ana on 28 Apr 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi, I need to do a regression for every 12 days and I need both the b and hint output of each regression. Until now i have: for i=1:624 [b,bint]=regress(returns(i:i+12,:),regressors(i:i+12,:)); end
but it only gives me the last regression output. Can somebody help me? Thanks :)

Answers (1)

Star Strider
Star Strider on 28 Apr 2014
Store each as a cell array:
[b{i},bint{i}] = regress( ...
  2 Comments
Ana
Ana on 28 Apr 2014
It still doesn't work. It says "Comma separated list expansion has cell syntax for an array that is not a cell" :(
Star Strider
Star Strider on 28 Apr 2014
Edited: Star Strider on 28 Apr 2014
It worked for me when I tried it this morning, else I'd not have posted it.
This is the simulation I ran successfully then and again just now ( R2014a, Win 8 64 ). Run it and see if it works on your computer:
returns = rand(6);
regressors = randi(10,6,6);
for k1 = 1:size(returns,1)/2
x = regressors(k1:k1+1,:)
y = returns(k1,:)
[b{k1},bint{k1}] = regress(returns(k1:k1+1,1),regressors(k1:k1+1,:))
end
b{1}
bint{1}
It gives me all three values of both variables (one for each run). What is you loop counter ‘i’ when it throws that error?
Post the section of your code in your loop that throws the error.

Community Treasure Hunt

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

Start Hunting!