Toon posts:

van tabel naar formule

Pagina: 1
Acties:
  • 367 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een korte vraag

Ik heb een tabel met diverse waarden die afhankelijk is van 1 variabele. Nu wil ik dit ombouwen naar een formule waarbij de waarden die uit de formule komen (met een bepaalde tolerantie) overeen komen met de tabel waarde.

Bestaat zoiets?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Met een taylor reeks kun je elk singaal wel benaderen, maar ik denk niet dat je dat bedoeld. Het is aan een set datapunten erg lastig af te lezen wat het verband is. Als je zelf aangeeft wat dat verband is (lineair, exponentieel, logaritmisch enz enz) kun je de computer wel laten berekenen wat het minste fouten geeft. (Komt gelijk weer wat anders om de hoek kijken, want, wat vind je precies fout en wat vind je fouter)

Kortom, nee, er is niet echt een one push on a button oplossing.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

ja, dat heet regressie.


Post de tabel eens, en stel je vraag n.a.v. de tabel.

Verwijderd

Topicstarter
Dat besef ik ook wel, ik zou graag willen dat de software aan de hand van een aantal standaardformules bv.
ax+b
ax^2+bx+c
ab^x+cd^(x-1)
etc...

Hij dient van die aantal standaardformules de beste benadering te nemen.

Ik zal heel kort even de achtergrond

Ik heb een tabel die aan de hand van de bladhoek en de windsnelheid het maximale vermogen van een windmolen bepaald. Deze tabel heb ik gemaakt door deels grafisch te bepalen (karakteristiek van de wieken) en deels via formuleform. Deze tabel is voor ca. 95% nauwkeurig, mede door de grafische bepaling, daarom hoeft de formule geen exacte benadering te zijn.

Deze tabel wil ik gebruiken als "startpunt" voor een pi-regeling van de bladhoek. Een soort uitgangspunt voor de regelaar. Dit komt in een antieke plc installatie. Het is heel moeilijk en omslachtig om deze tabel te gebruiken dus als ik een formule kan maken voor elk van de windsnelheden kan ik deze waarschijnlijk wel in de plc programmeren.

Als iemand een programma of methodiek kan geven zou ik heel dankbaar zijn

Mijn tabel is trouwens de volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Horizontaal = windsnelheid (m/s)
Verticaal = bladhoek (graden)

  |   4   6   8  10  12  14  16  18  20
--+------------------------------------
-2|   0  31  82 148 207 209 213 233 256
0 | 3,5  33  82 148 214 263 295 327 352
2 |   0  29  76 144 214 285 360 397 416
4 |   0  18  63 128 200 285 377 467 512
6 |   0 4,3  47 104 187 274 377 467 544
8 |   0   0  27  80 159 252 360 467 608
10|   0   0 4,1  52 131 230 328 467 608
15|   0   0   0   0  48 132 246 373 512
20|   0   0   0   0   0  22 115 233 384

[ Voor 22% gewijzigd door Verwijderd op 15-04-2004 09:18 ]


  • Ploink
  • Registratie: April 2002
  • Laatst online: 31-08 09:01
Excel kan dit voor een paar eenvoudige functies. Maak een X-Y scatter plot, voeg dan een trendline toe en vink de optie aan om de formule in de grafiek weer te geven.
Als je functie te moeilijk is voor excel, dan raad ik je HET curve fit programma TableCurve aan. Het is erg duur, maar ze hebben een "try before you buy" versie.

Verwijderd

Topicstarter
Ik moet nog 1 opmerking plaatsen, het plc systeem is uberhaupt niet in staat om om te gaan met logaritmische expressies

De benadering kan eigenlijk als moeilijkste in de vorm
ax^2+bx+c
zijn

Nu heb ik dit tooltje gevonden:
http://earthmath.kennesaw...e/tool_chest/quad_reg.htm

Welke een redelijke (binnen 10%) benadering geeft voor windsnelheid 14 m/s

x
-2
0
2
4
6
8
10
15
20

y
209
263
285
285
274
252
230
132
22

Verwijderd

een paar opmerkingen.


1. met polynomiale regressie kun je de lijn -perfect- weergeven, mits het aantal termen groot genoeg.

Uitleg:

stel je hebt 2 punten: dan kun je met een rechte lijn precies door die 2 punten.
stel je hebt 3 punten: dan kun je met een parabool altijd precies door die 3 punten.
stel je hebt 4 punten: dan kun je met een 3e graads vergelijking precies door die 4 punten.


Maw...als je n punten hebt, dan gaat een polynoom van graad n-1 door alle punten.

Nu wil je natuurlijk een simpele formule. Dan ligt het aan twee dingen:

1. hoe nauwkeurig wil je dat de benadering is
2. hoe complex is je puntenwolk.

ter vergelijking: stel je hebt 3 punten, dan fit een parabool -altijd-, maar als toevallig die drie punten op een lijn liggen, dan fit ook eerste graads vergelijking perfect.

Jij hebt 2 predictoren, en 1 criterium variabele.


Predictoren:
windsnelheid (x1)
bladhoek (x2)


Criterium:

Vermogen. (y)


De simpelste regressie gaat er als volgt uitzien:

y=constante+b1*x1+b2*x2+ error

Dan ga je proberen:

y=constante+b1*x1+b2*x2 + b3*x1*x2 + error


Dan ga je kwadratische termen toevoegen bv:

y=constante+b1*x1+b2*x2 + b3*x1*x2
+b1*x1^2+ error


Elke keer vraag je ook de R^2 op, de proportie verklaarde variantie. De truuk is om elke keer een term toe te voegen, en kijken of door de toevoeging de voorspelling siginificant beter wordt.

Verwijderd

Topicstarter
Het gaat mij puur om een startwaarde voor de regelaar. Ik zal een uitleg geven wat ik reeds gedaan heb.

Doel is een windmolen die stand-alone draait ongeacht de belasting zo goed mogelijk op 50Hz te houden

Bij de generator komt de 50Hz overeen met 750 omw/min, voor de generator staat een tandwielkast met een overbrenging van 1:22, er zijn dus 34,09 omw/min nodig voor de wieken, de wieken dienen dus ongeacht de wind met een constante snelheid te draaien (bladhoek en belasting als instrumenten daarvoor)

De lambda waarde van de windmolen geeft de snellopendheid van de molen aan dwz de verhouding tussen windsnelheid en hoeksnelheid van de rotor.

lambda = (HoeksnelheidRotor x StraalRotor)/Windsnelheid

De windsnelheid voor de molen om in normaal bedrijf te kunnen dient tussen de 4 en 20 m/s te liggen, nu heb ik voor de tussenliggende waarden met een resolutie van 2 m/s de lambda waarde bepaald

Daarnaast heb je een Cp-lamba kromme die Cp waarde (rendement) voor elk van de lambda waardes geeft. De kromme is gegeven voor diverse bladhoeken.

Middels de Cp waarde kan met de formule

vermogen=400 x Windsnelheid^3 x Cp

het vermogen worden bepaald. Dit heb ik gedaan en daar kwam deze tabel uit

De bedoeling is dat de regelaar aan de hand van de windsnelheid en de te verwachten belasting de bladhoek "kiest"uit de tabel en vanaf daar middels een (P?)I regelaar de 50Hz gaat halen.

De plc is niet in staat tabellen in te lezen en kan alleen eenvoudige formules aan, ik wil bereiken dat de regelaar niet helemaal vanaf 0 moet gaan regelen omdat ik dan bang ben voor de doorschot. Met een goed startpunt kan volgens mij de doorschot voorkomen worden.

De tijdconstante voor de regelaar is mij al bekend (4,5 sec) dus het gaat puur om het startpunt

[ Voor 19% gewijzigd door Verwijderd op 15-04-2004 10:32 ]


Verwijderd

Ja...dus dan doe je regressie.


Wat komt eruit?

Verwijderd

Topicstarter
Voor 8 m/s heb je de volgende tabel:

code:
1
2
Bladhoek  -2   0   2   4   6   8 10  15 20
Vermogen  82  82  76  63  47  27 4,1  0  0


Omdat er geregeld wordt heb ik de waarde voor bladhoek -2, 15 en 20 weggehaald, redenen

- Bladhoek -2 heeft dezelfde waarde als 0, regelen geen nut
- Bladhoek 15,20 zijn beide 0, je weet niet bij welke bladhoek hij door de nullijn gaat dus gewoon achteraf adhv de grafiek controleren of hij voor 15 zit

Ik kreeg dan de volgende betrekking:

bladhoek = (-9,2268E-4*vermogen^2) - 0,04152*vermogen + 10,0567

De afwijking daarbij is: 1,5565

Verwijderd

Je hebt nu wel windsnelheid genegeerd.

Je zei zelf:
De bedoeling is dat de regelaar aan de hand van de windsnelheid en de te verwachten belasting de bladhoek "kiest"uit de tabel en vanaf daar middels een (P?)I regelaar de 50Hz gaat halen.
Waarom neem je windsnelheid nu niet mee?

En, hoe heb je die regressie bepaald?

De 'afwijking' zegt me niet zoveel. Je wilt alle restwaarden plotten.

Verder, wat is je proportie verklaarde variantie? Dat leert je hoe goed je voorspelling is.
Pagina: 1