Acties:
  • 0 Henk 'm!

  • BvDorp
  • Registratie: Januari 2004
  • Laatst online: 16:39
Omschrijving
Voor een werkopdracht probeer ik niet-lineaire regressie analyse toe te passen op data, met gebruik van Excel. Ik ben op zoek naar bepaalde ratio's, en daarvoor wil ik statistische bewerkingen uitvoeren. Het probleem kun je je als volgt voorstellen: ik heb objecten met de eigenschappen gewicht, functie en een aantal productiekenmerken (snelheid, capaciteit). Ik wil de ratio tussen gewicht en de productiekenmerken vinden, om daarmee voorspellingen te doen over nieuw te ontwerpen objecten met bekende eigenschappen, maar nog geen gewicht.
Probleem
De Excel Solver loopt elke keer vast in een lokale extreme, en dat belemmert m'n analyse. Daarom wil ik een algoritme in Excel aan de praat krijgen, of zoek ik een mooie/simpele/betaalbare Add-in.
Oplossingen
  1. Ik ben een tijdje op zoek geweest naar een gratis of betaalbare Add-in. Dit is mij nog niet gelukt; heb ik iets over het hoofd gezien?
  2. Ik probeer dit algoritme aan de praat te krijgen: klik. Tot mijn grote spijt lukt het me nog niet, en wellicht komt het door mijn beperkte VBE ervaring. Ik heb beide genoemde Modules toegevoegd aan mijn werkblad, maar als ik in de lijst met macro's kijk komt deze niet langs. Kan iemand me de stappen laten zien die nodig zijn om dit algoritme aan de praat te krijgen?
Alvast hartelijk dank voor het meedenken!

PS: eerste topic hier, laat me aub. even weten of deze TS voldoet

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 12:56

Reptile209

- gers -

Welkom op GoT, mooie topicstart :). Je had alleen nog wel wat uitgebreider mogen zijn in stap 2: wat heb je precies gedaan voordat je concludeerde dat het niet lukt?

Nog even een algemene tip vooraf: het is VBA, niet VBE. Dat Google't makkelijker voor verdere stappen.

Ik heb je voorbeeldalgo van je link aan de praat gekregen via de volgende stappen (Engelse Excel):
  • Save beide .bas-files (Levenber_Marquaurdt en Solve_Linear_Sistems)
  • Ga in Excel naar de VBA-omgeving (Alt-F11), Insert module > Module
  • Copy-paste beide blokken met voorbeeldcode naar de nieuwe Module1
  • Rechtsklik op Modules > Import file om beide .bas bestanden een voor een te importeren.
  • Met de cursor op de eerste regel van Module1 kan je nu op F5 drukken (of op Run klikken). Er verschijnt een dialoogje met de vraag welke functie je wil starten, kies (de enige mogelijkheid): NLfit_test1.
  • In het Immediate-venster (indien niet zichtbaar, doe Ctrl-G of View > Immediate window) verschijnt nu de verwachte output.
Als het echt niet lukt, staat hier mijn voorbeeldsheetje. Maar wel eerst zelf proberen voordat je spiekt he :+.

Het geheel mis-/gebruikt Excel nu als VB omgeving. Er is dus (nog) geen koppeling met de Excelsheet zelf. Alle input zit in die driver-routine en de output komt in Immediate. Maar het werkt dus wel en kan prima worden aangepast om interactie met je workbook te geven. Bijvoorbeeld door de macro gegevens uit je werkblad te laten ophalen, of een functie met parameters te maken, of door een vooraf gedefinieerde functie via een command button te starten. Mogelijkheden genoeg :).

In de lijst met macro's die je noemt (Excel workbook > Tools > Macro > Macros) zou nu overigens ook die NLfit_test1 moeten zijn verschenen, maar als je hem dan runt, zie je niet direct iets (omdat je dat output scherm niet ziet).

Probeer het eens zou ik zeggen, en als je tegen (concrete!) problemen aanloopt, dan horen we het graag ;).

[ Voor 4% gewijzigd door Reptile209 op 14-07-2012 21:15 ]

Zo scherp als een voetbal!