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
886
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
Vain vasemmistolaiset rakennemuutokset pelastavat Suomen
Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot343438Persut huutaa taas: "kato! muslimi!"
Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe132828- 282504
- 421937
- 531789
- 151780
- 451636
KL: Mari Hynynen avoimena - Jouni-rakkaan ja Joel-pojan välit ovat nämä!
Mari Hynynen (ent. Perankoski) on naimisissa Jouni Hynysen kanssa. Marilla on edellisestä liitosta yksi lapsi, Joel Vola101478- 541454
Missikohu edustaa nykyajan monimuotoisuutta
Puolesta vai vastaan, saako esittää pilkkaavasti jonkun toisen ihmisen syntyperäisiä ominaisuuksia? Kadulla vastaan tule2641164