Meni vahingossa väärälle palstalle, uusi yritys...
Eli tarkoitus on luoda funktio, johon annetaan vektori ja viive. Kun viive = 1, vektori lyhenee lopusta yhden solun. Sitten otetaan korrelaatio alkuperäisen ja uuden vektorin kanssa. Kun viive = 2, vektori lyhenee lopusta 2 solua. Jälleen alkuperäinen ja lyhyt vektori tuottavat korrelaation. Lopuksi summataan korrelaatiot yhteen.
Edellisen postin jälkeen kehittelin koodia eteenpäin, mutta vieläkään sisäkkäiset silmukat eivät tunnu toimivan:
Public Function crx(vect As Variant, viive As Double) As Variant
Dim N, i, k As Long
Dim corr As Double
Dim mat, mat1 As Variant
mat = vect
N = UBound(mat, 1)
i = 1
k = 1
Do Until k = viive
ReDim mat1(N - 1, 1)
For i = 1 To N - k
mat1(i, 1) = mat(i, 1)
Next
corr = WorksheetFunction.Correl(mat1, mat)
summa = summa corr
k = k 1
Loop
crx = summa
End Function
Silmukka silmukassa
3
896
Vastaukset
- ........
vieläkö joku käyttää VB:tä :O:O
- Ptr
Sinulla on varmaan Excelissä joku muu ohjelmointikieli?
Jos kuitenkin viitsit vastata varsinaiseen kysymykseen, toisi enemmän lisäarvoa.
- xxxxx
En tajunnut kysymystäsi, kuten mitä tarkoitit korrelaatiolla. Mitä tuon WorksheetFunction.Correl -funktion pitäisi tehdä?
Ainakin nämä virheet tuossa nyt on:
mat1(i, 1) = mat(i, 1)
Sijoitat saman arvon eli mikään ei muutu.
i=1
Turha antaa alkuarvo kun sitä ei käytetä. Rivi pois, sillä annat i-muuttujalle arvon for-nextillä.
Sisäkkäiset silmukat on myös selkeämpää tehdä molemmat for-next -käskyllä:
For k=1 to viive
For i=1 to n-k
...
Next i
Next k
Itse käytän harvoin do-loop -käskyä, koska siinä tarvitaan enemmän käskyrivejä. Enkä käytä sitä koskaan selkeissä luupeissa jotka voi tehdä for-nextillä, vaan ainoastaan kun silmukan määrää ei tiedetä etukäteen, esim. do until eof(Filenro#)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Silmienvääntelijä-persut pääsivät Japanissa sarjakuvaan
Torille! https://www.hs.fi/kulttuuri/art-2000011943173.html1795012Nato kaatamassa Petterin haaveileman Tunnin junan?
Nato edellyttää pohjoisessa Jäämereltä Rovaniemelle saakka kapearaitesta suoraa rautatieväylää, joka maksaa paperirahaa,194397Donald Trump pääsi samalle listalle Sanna Marinin kanssa
Eli vasemmistolaisen Time-median top 100 jännäihmisten listalle. https://time.com/collections/time100-next-2021/593769993117Älkää vaan sairastuko syöpään Suomessa
Tilaston mukaan Suomi, Slovakia ja Latvia lääkitsee aivan pohjamudissa syöpää. Sairastunutta hoidetaan edelleen vanhana2532962Kyllä, maata ei halua puolustaa nimenomaan punavihreän puolen edustajat
"Esimerkiksi maanpuolustushenki on keskimääräistä alempana naisten, arvoliberaalien, heikossa taloustilanteessa olevien1432902- 522511
- 271929
- 221757
- 351750
- 681741