Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How can I get the input for several regressions?

1 vue (au cours des 30 derniers jours)
Ana
Ana le 28 Avr 2014
Clôturé : MATLAB Answer Bot le 20 Août 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 :)

Réponses (1)

Star Strider
Star Strider le 28 Avr 2014
Store each as a cell array:
[b{i},bint{i}] = regress( ...
  2 commentaires
Ana
Ana le 28 Avr 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 le 28 Avr 2014
Modifié(e) : Star Strider le 28 Avr 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!

Translated by