bmwkraftur.is
https://www.bmwkraftur.is/spjall/

Matlab / octave / gretl / EVIews / Excel .... meistarar?
https://www.bmwkraftur.is/spjall/viewtopic.php?f=16&t=42809
Page 1 of 1

Author:  Jónas [ Fri 05. Feb 2010 12:24 ]
Post subject:  Matlab / octave / gretl / EVIews / Excel .... meistarar?

Er með runu af tölum, sem eru annaðhvort plús eða mínus... t.d.:

1
2
3
2
2
-2
-2
-1

etc og það sem ég þarf að gera er að ná að sortera niður hversu langt "run" af jákvæðum tölum er, eins og fyrir ofan þá koma 5 jákvæðar(lengd "run" er 5) og svo 3 neikvæðar(lengd neikvæðs "run" er 3...), þannig að ég þarf að setja upp einhversskonar töflu þar sem að fram kemur þar sem að ég næ að telja hversu oft viðkomandi lengd á "runni" kemur fyrir..

Image

Er semsagt með mjög langa tímaseríu af ávöxtunartölum hlutabréfa, og stundum koma 3 vikur í röð þar sem að það er jákvæð ávöxtun, etc etc og þessar þrjár vikur teljast sem einn, og fara í viðeigandi dálk, svo ef það kemur aftur fyrir að það er jákvæð ávöxtun í 3 vikur þá erum við kominn með 2 í viðeigandi dálk?

Vonandi er þetta skiljanlegt.

Þetta er ekki heimaverkefni, engar áhyggjur

Edit: ég veit að þetta á að vera hrikalega einfalt í matlab, er hinsvegar ekki alveg nógu sjóaður þar

Author:  JOGA [ Fri 05. Feb 2010 12:33 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Margar leiðir:

Ein væri einfaldlega að búa til if setningu í Excel sem er 0 ef talan er í mínus en 1 ef ekki.
Notar svo 0 og einn til að ákvarða lengd "run-s". Ætti ekki að vera erfitt.

Ef þú importar þessu til dæmis í Eviews þegar þetta er komið þá ætti að vera mjög einfalt að leika sér með þetta.

Er hvorki með Excel né Eviews uppsett hjá mér núna. Var að formatta tölvuna en þetta ætti í það minnsta að gefa þér hugmynd.

Author:  Aron Fridrik [ Fri 05. Feb 2010 13:17 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

það er ekkert einfalt í matlab :aww:

Author:  bimmer [ Fri 05. Feb 2010 15:32 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Jónas wrote:
Edit: ég veit að þetta á að vera hrikalega einfalt í matlab, er hinsvegar ekki alveg nógu sjóaður þar


Ertu ekki með á hreinum hvernig þú tæklar verkefnið eða er það syntaxinn í Matlab sem flækist fyrir þér?

Author:  Jónas [ Fri 05. Feb 2010 15:51 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Er ekki með það á hreinu, þetta er náttúrulega hægt með brute force í excel, en þar sem að þetta eru 20 ára gögn yfir 5 vísitölur held ég að það sé fljótara að eyða nokkrum klukkutímum að reyna þetta í matlab eða álíka :)

Author:  bimmer [ Fri 05. Feb 2010 16:38 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Hér er smá bland af pseudokóða og matlab - er ekki með matlab uppsett
þannig að ég gat ekkert prófað þetta.


///////////////////////////////////////////////////////////////////////////////////////////////////////////
skilgreina vektorinn [gogn]
skilgreina breytuna [formerki] Er -1 eða 1
skilgreina vektorinn [jakvaedar]
skilgreina vektorinn [neikvaedar]
skilgreina breytuna [tala]
skilgreina breytuna [lengdrun]



Lesa inn gögnin í vektor [gogn]


// Skilgreina plús eða mínus út frá fyrstu tölu
if gogn(1) > 0
formerki=1
else
formerki=-1
end

lengdrun = 1


for n = 2:prod(size(gogn))

tala = gogn(n)


// athuga hvort run sé að breytast

if (tala*formerki) > 0
// run ekki að breytast
lengdrun = lengdrun + 1;

else
// run að breytast
if formerki > 0
// Bæti við talninguna af jákvæðri runu með lengd lengdrun
jakvaedar(lengdrun)=jakvaedar(lengdrun)+1
formerki=-1
else
// Bæti við talninguna af neikvæðri runu með lengd lengdrun
neikvaedar(lengdrun)=neikvaedar(lengdrun)+1
formerki=1
end

lengdrun = 1
end

end

///////////////////////////////////////////////////////////////////////////////////////////////////////////

Þetta skilar þér 2 vektorum með fjölda jávæðra og neikvæðra runa.


EDIT: Spacing fer allt í rugl en kemur er þú gerir "quote" á póstinn :?

Author:  birkire [ Fri 05. Feb 2010 16:40 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

hvaða nám erum við að tala um hérna ?


bara svo ég geti forðast það

Author:  Jónas [ Fri 05. Feb 2010 17:09 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Snilld bimmer, ég skoða þetta reyni að koma dótinu inní.

Þakka

birkire.. þetta er hagfræði :)

Author:  Siifin [ Fri 05. Feb 2010 17:19 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Er ekki bara langþægilegast að leysa þetta með Subtotal í excel?.
setja þá
Use function : count

Author:  ömmudriver [ Fri 05. Feb 2010 18:25 ]
Post subject:  Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

birkire wrote:
hvaða nám erum við að tala um hérna ?


bara svo ég geti forðast það


:lol:

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/