Matlab / octave / gretl / EVIews / Excel .... meistarar?

Langar þig til að segja eitthvað, en þú veist ekki hvar það á heima?! Segðu það hér!

Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby Jónas » Fri 05. Feb 2010 12:24

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
Jónas
Rallýbílstjóri
 
Posts: 1420
Joined: Sun 02. Feb 2003 14:43
Location: Omnom nom nom

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby JOGA » Fri 05. Feb 2010 12:33

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.
BMW E46 ///M3 04.2003
Land Rover Discovery 3 04.2007
Ski Doo Summit X 800 151" - 2006
5xE30,E32,E34,4xE36,E39,E53 - Seldir
User avatar
JOGA
Formúlubílstjóri
 
Posts: 3886
Joined: Thu 07. Jul 2005 09:43
Location: Bíldudalur

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby Aron Fridrik » Fri 05. Feb 2010 13:17

það er ekkert einfalt í matlab :aww:
BMW E34 ///M5
User avatar
Aron Fridrik
Formúlubílstjóri
 
Posts: 4778
Joined: Sun 04. Jun 2006 14:39

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby bimmer » Fri 05. Feb 2010 15:32

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?
Þórður
'99 M5 SC // '89 M3 S85 // '04 Patrol GR
Image
Alpina wrote:S85 er vondur mótor þó að hann sé kraftmikill...
User avatar
bimmer
Formúlubílstjóri
 
Posts: 15952
Joined: Sun 02. Nov 2003 21:17
Location: Reykjavík

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby Jónas » Fri 05. Feb 2010 15:51

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 :)
Jónas
Rallýbílstjóri
 
Posts: 1420
Joined: Sun 02. Feb 2003 14:43
Location: Omnom nom nom

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby bimmer » Fri 05. Feb 2010 16:38

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 :?
Þórður
'99 M5 SC // '89 M3 S85 // '04 Patrol GR
Image
Alpina wrote:S85 er vondur mótor þó að hann sé kraftmikill...
User avatar
bimmer
Formúlubílstjóri
 
Posts: 15952
Joined: Sun 02. Nov 2003 21:17
Location: Reykjavík

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby birkire » Fri 05. Feb 2010 16:40

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


bara svo ég geti forðast það
vti
birkire
Meðlimur
Meðlimur
 
Posts: 2518
Joined: Fri 30. Nov 2007 12:46
Location: sniffa lím

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby Jónas » Fri 05. Feb 2010 17:09

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

Þakka

birkire.. þetta er hagfræði :)
Jónas
Rallýbílstjóri
 
Posts: 1420
Joined: Sun 02. Feb 2003 14:43
Location: Omnom nom nom

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby Siifin » Fri 05. Feb 2010 17:19

Er ekki bara langþægilegast að leysa þetta með Subtotal í excel?.
setja þá
Use function : count
User avatar
Siifin
Búðarkerrubílstjóri
 
Posts: 3
Joined: Fri 05. Dec 2008 13:09

Re: Matlab / octave / gretl / EVIews / Excel .... meistarar?

Postby ömmudriver » Fri 05. Feb 2010 18:25

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


bara svo ég geti forðast það


:lol:
Nútíðin:
E34 Touring '93 > R.I.P.
E34 530iT '95

Þátíðin:
E32 735i '89 ND-020
E30 325iC '89 AN-309
E30 318i '88 JS-554
E34 525iA '94 OZ-390
E28 518i '87 IT- 629
E46 318i '00 TB-590
ömmudriver
Formúlubílstjóri
 
Posts: 5955
Joined: Mon 26. Sep 2005 00:12
Location: Litla Ameríka


Return to Off-Topic umræður

Who is online

Users browsing this forum: No registered users and 45 guests