bmwkraftur.is

BMWKraftur spjallborð
It is currently Wed 07. May 2025 16:54

All times are UTC




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Fri 05. Feb 2010 12:24 
Offline
Rallýbílstjóri

Joined: Sun 02. Feb 2003 14:43
Posts: 1420
Location: Omnom nom nom
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


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 12:33 
Offline
Formúlubílstjóri
User avatar

Joined: Thu 07. Jul 2005 09:43
Posts: 3886
Location: Bíldudalur
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


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 13:17 
Offline
Formúlubílstjóri
User avatar

Joined: Sun 04. Jun 2006 14:39
Posts: 4778
það er ekkert einfalt í matlab :aww:

_________________
BMW E34 ///M5


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 15:32 
Offline
Formúlubílstjóri
User avatar

Joined: Sun 02. Nov 2003 21:17
Posts: 15941
Location: Reykjavík
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...


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 15:51 
Offline
Rallýbílstjóri

Joined: Sun 02. Feb 2003 14:43
Posts: 1420
Location: Omnom nom nom
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 :)


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 16:38 
Offline
Formúlubílstjóri
User avatar

Joined: Sun 02. Nov 2003 21:17
Posts: 15941
Location: Reykjavík
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...


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 16:40 
Offline
Meðlimur Meðlimur

Joined: Fri 30. Nov 2007 12:46
Posts: 2518
Location: sniffa lím
hvaða nám erum við að tala um hérna ?


bara svo ég geti forðast það

_________________
vti


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 17:09 
Offline
Rallýbílstjóri

Joined: Sun 02. Feb 2003 14:43
Posts: 1420
Location: Omnom nom nom
Snilld bimmer, ég skoða þetta reyni að koma dótinu inní.

Þakka

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


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 17:19 
Offline
Búðarkerrubílstjóri
User avatar

Joined: Fri 05. Dec 2008 13:09
Posts: 3
Er ekki bara langþægilegast að leysa þetta með Subtotal í excel?.
setja þá
Use function : count


Top
 Profile  
Reply with quote  
PostPosted: Fri 05. Feb 2010 18:25 
Offline
Formúlubílstjóri

Joined: Mon 26. Sep 2005 00:12
Posts: 5955
Location: Litla Ameríka
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


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 48 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group