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
835
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
Tykkään sinusta tosi tosi paljon
Siksi en pysty sisäistämään sitä, että se ei ole molemminpuolista. Sattuu liikaa. En osaa käsitellä sitä tunnetta, koska513467- 1562099
Kaupan kassalla kannataa olla kylmä käytös
https://www.is.fi/taloussanomat/art-2000010488540.html "19-vuotias Minja ja 59-vuotias Anne työskentelevät sillä todelli2041791Mitä tehdä asialle?
Jos laitan deitti-ilmon "40-vuotias nainen etsii seuraa" niin ketään ei kiinnosta (korkeintaan paria runkkaripenaa joill1351699- 801165
- 2341104
Mitä helvettiä pakolaisille pitäisi tehdä RAJALLA?
Jos Venäjä työntää rajalle pakolaisia ja tekee Suomelle selväksi että heidän puolelleen ei ole pakolaisilla asiaa - mitä2731045- 130999
Olen pahoillani mies
Olen surullinen puolestasi, ettet saanut kaipaamaasi naista. Yrititkö lopulta edes? Teistä olisi tullut hyvä pari52929- 72895