Toon posts:

Wiskundige vergelijking

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

Verwijderd

Topicstarter
Ik hoop dat ik speciaal hiervoor een topic mag openen, want ik zou niet weten waar ik het anders neer moet zetten... ik moet een vergelijking oplossen (of nee, liever: anders schrijven; er een formule van maken), van een soort die mij op school nooit geleerd is :(

De vergelijking is

-tan(Alfa)/(Cx-Ex) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

Dit wil ik schrijven als

Cx = ...

sja, op zich gaat dat wel, alleen wil ik dan aan de rechterkant GEEN Cx'jes meer over houden :(
Alle andere variabelen hierin - d.w.z: Ax, Ay, Bx, By, Ex, Ey en Alfa - zijn constant.

Anyone knows how? Waarover ik nou precies struikel weet ik niet, maar toch struikel ik ergens :P

  • The_MAN
  • Registratie: Februari 2001
  • Laatst online: 16-12-2025
Maple zegt het volgende: Cx = (1/2*(-Ey*Bx+Ay*Bx+Ey*Ax-By*Ax-By*Ex+Ay*Ex+(-2*Ey*Bx^2*Ay-4*By*tan(alpha)*Bx+2*Ey*Bx*By*Ax-2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ay*Bx*Ey*Ax-2*Ay*Bx*By*Ax+2*Ay*Bx*By*Ex+2*Ey*Ax*By*Ex-2*Ey*Ax*Ay*Ex+2*By*Ax*Ay*Ex+Ey^2*Bx^2+Ay^2*Bx^2+Ey^2*Ax^2+By^2*Ax^2+By^2*Ex^2+Ay^2*Ex^2-2*Ey^2*Bx*Ax-2*Ay^2*Bx*Ex-2*Ey*Ax^2*By-2*By^2*Ax*Ex-2*By*Ex^2*Ay+4*By*tan(alpha)*Ax+4*Ay*tan(alpha)*Bx-4*Ay*tan(alpha)*Ax)^(1/2))/(-By+Ay), 1/2*(-Ey*Bx+Ay*Bx+Ey*Ax-By*Ax-By*Ex+Ay*Ex-(-2*Ey*Bx^2*Ay-4*By*tan(alpha)*Bx+2*Ey*Bx*By*Ax-2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ay*Bx*Ey*Ax-2*Ay*Bx*By*Ax+2*Ay*Bx*By*Ex+2*Ey*Ax*By*Ex-2*Ey*Ax*Ay*Ex+2*By*Ax*Ay*Ex+Ey^2*Bx^2+Ay^2*Bx^2+Ey^2*Ax^2+By^2*Ax^2+By^2*Ex^2+Ay^2*Ex^2-2*Ey^2*Bx*Ax-2*Ay^2*Bx*Ex-2*Ey*Ax^2*By-2*By^2*Ax*Ex-2*By*Ex^2*Ay+4*By*tan(alpha)*Ax+4*Ay*tan(alpha)*Bx-4*Ay*tan(alpha)*Ax)^(1/2))/(-By+Ay))

Wordt je daar blij van? Denk het niet......

  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 18-11-2025

WFvN

Gosens Koeling en Warmte

The_MAN schreef op 22 juli 2004 @ 23:21:
Maple zegt het volgende: Cx = (1/2*(-Ey*Bx+Ay*Bx+Ey*Ax-By*Ax-By*Ex+Ay*Ex+(-2*Ey*Bx^2*Ay-4*By*tan(alpha)*Bx+2*Ey*Bx*By*Ax-2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ay*Bx*Ey*Ax-2*Ay*Bx*By*Ax+2*Ay*Bx*By*Ex+2*Ey*Ax*By*Ex-2*Ey*Ax*Ay*Ex+2*By*Ax*Ay*Ex+Ey^2*Bx^2+Ay^2*Bx^2+Ey^2*Ax^2+By^2*Ax^2+By^2*Ex^2+Ay^2*Ex^2-2*Ey^2*Bx*Ax-2*Ay^2*Bx*Ex-2*Ey*Ax^2*By-2*By^2*Ax*Ex-2*By*Ex^2*Ay+4*By*tan(alpha)*Ax+4*Ay*tan(alpha)*Bx-4*Ay*tan(alpha)*Ax)^(1/2))/(-By+Ay), 1/2*(-Ey*Bx+Ay*Bx+Ey*Ax-By*Ax-By*Ex+Ay*Ex-(-2*Ey*Bx^2*Ay-4*By*tan(alpha)*Bx+2*Ey*Bx*By*Ax-2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ay*Bx*Ey*Ax-2*Ay*Bx*By*Ax+2*Ay*Bx*By*Ex+2*Ey*Ax*By*Ex-2*Ey*Ax*Ay*Ex+2*By*Ax*Ay*Ex+Ey^2*Bx^2+Ay^2*Bx^2+Ey^2*Ax^2+By^2*Ax^2+By^2*Ex^2+Ay^2*Ex^2-2*Ey^2*Bx*Ax-2*Ay^2*Bx*Ex-2*Ey*Ax^2*By-2*By^2*Ax*Ex-2*By*Ex^2*Ay+4*By*tan(alpha)*Ax+4*Ay*tan(alpha)*Bx-4*Ay*tan(alpha)*Ax)^(1/2))/(-By+Ay))

Wordt je daar blij van? Denk het niet......
holy shit.... ik heb m'n TI-92 aan het rekenen gezet....en die is sinds *niet veel na de startpost* bezig en nog steeds niet klaar :+ Geen wonder...

Verwijderd

Topicstarter
Hmm, dat moet beter kunnen :?

Als m'n pc'tje telkens zoiets uit moet voeren (voor mn progje) issie eeeeuwen bezig :P

@ WFvN: zou dat ook op een TI-83 kunnen, denk je?

[ Voor 23% gewijzigd door Verwijderd op 22-07-2004 23:24 ]


  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 18-11-2025

WFvN

Gosens Koeling en Warmte

Verwijderd schreef op 22 juli 2004 @ 23:24:
Hmm, dat moet beter kunnen :?

Als m'n pc'tje telkens zoiets uit moet voeren (voor mn progje) issie eeeeuwen bezig :P

@ WFvN: zou dat ook op een TI-83 kunnen, denk je?
nope...

en m'n 92 is nog steeds bezig....

[ Voor 9% gewijzigd door WFvN op 22-07-2004 23:28 ]


  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Verwijderd schreef op 22 juli 2004 @ 23:12:
Alle andere variabelen hierin - d.w.z: Ax, Ay, Bx, By, Ex, Ey en Alfa - zijn constant.
Als blijkt dat het te ingewikkeld is om de vergelijking expliciet te schrijven als cx=f(Ax,Ay...), waarom dan gewoon niet alle constanten substitueren en dan oplossen ?

[ Voor 3% gewijzigd door Henk007 op 22-07-2004 23:30 ]


Verwijderd

Topicstarter
Henk007 schreef op 22 juli 2004 @ 23:28:
[...]

Als blijkt dat het te ingewikkeld is om de vergelijking te schrijven als cx=..., waarom dan gewoon niet alle constanten substitueren en dan oplossen ?
Substitueren? Hoezo? Achter die constanten zit verder geen formule...
/edit: en het moet in mn pc-prog, dus het moet per sé als Cx = ...

[ Voor 10% gewijzigd door Verwijderd op 22-07-2004 23:31 ]


  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 18-11-2025

WFvN

Gosens Koeling en Warmte

Verwijderd schreef op 22 juli 2004 @ 23:30:
[...]


Substitueren? Hoezo? Achter die constanten zit verder geen formule...
/edit: en het moet in mn pc-prog, dus het moet per sé als Cx = ...
Mja, als de constanten bekend zijn zal het omrekenwerk voor een rekenmachine/pc ook wat makkelijker worden denk ik

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Wat probeer je precies te berekenen? Leg het volledige probleem eens uit, misschien heeft iemand een betere oplossing of tips of redenen waarom wat je wilt nooit gaat werken ;).

"He took a duck in the face at two hundred and fifty knots."


Verwijderd

Topicstarter
WFvN schreef op 22 juli 2004 @ 23:35:
[...]

Mja, als de constanten bekend zijn zal het omrekenwerk voor een rekenmachine/pc ook wat makkelijker worden denk ik
Naja, constant, wat noem je constant... ehh... ze zijn niet altijd hetzelfde, maar tijdens de verwerking van deze functie zullen ze niet veranderen..... tzijn dus eigenlijk geen constanten, maar parameters 8)7

sowwy :?

/edit: Squatt: ik ben er de hele avond mee bezig geweest, met hulp van een wiskundeleraar, dus dat zit wel goed ;)
(en dan bedoel ik niet met deze vergelijking, maar het bedenken van hoe ik het probleem aan moet pakken en dat is d.m.v. deze vergelijking dus...)
/hmmnogeenedit: maar het is dus om het snijpunt van twee lijnen (die afhankelijk zijn van al die parameters) te vinden...

[ Voor 32% gewijzigd door Verwijderd op 22-07-2004 23:39 ]


  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Als de bovenstaande oplossing correct is, is dat voor een PC overigens een peulenschilletje om even uit te rekenen. Met substitueren bedoel ik trouwens de getalwaarden invullen. In bovenstaande oplossing staat bijvoorbeeld tig keer tan(alpha), terwijl dit gewoon een constante is, beetje zot om dat telkens opnieuw te berekenen.
Een alternatief kan zijn om op zoek te gaan naar een numerieke bibliotheek voor de programmeeromgeving die je gebruikt, je kunt dan met iets als een solve(funktie,cx) de zaak numeriek benaderen.

Verwijderd

Topicstarter
Henk007 schreef op 22 juli 2004 @ 23:39:
Als de bovenstaande oplossing correct is, is dat voor een PC overigens een peuleschilletje om even uit te rekenen. Met substitueren bedoel ik trouwens de getalwaarden invullen. In bovenstaande oplossing staat bijvoorbeeld tig keer tan(alpha), terwijl dit gewoon ene constante is, beetje zot om dat telkens opnieuw te berekenen.
Een alternatief kan zijn om op zoek te gaan naar een numerieke bibliotheek voor de programmeeromgeving die je gebruikt, je kunt dan met iets als een solve(funktie,cx) de zaak numeriek benaderen.
Naja lees mijn post vorige post, sorry, alpha is geen constante, maar een parameter. Mijn fout, verkeerde benaming. En ehm... ik vrees dat mijn progsel dit een paar duizend keer moet uitvoeren, dan wordt het toch minder fijn :|
En Turbo Pascal 5.5 kent geen Solve functie ;) (goh...)

[ Voor 4% gewijzigd door Verwijderd op 22-07-2004 23:42 ]


  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 18-11-2025

WFvN

Gosens Koeling en Warmte

Verwijderd schreef op 22 juli 2004 @ 23:37:
Naja, constant, wat noem je constant... ehh... ze zijn niet altijd hetzelfde, maar tijdens de verwerking van deze functie zullen ze niet veranderen.....
Bwhaha :D Dat zou stoer zijn.... net zoiets als een plattegrond tekenen van een doolhof wat telkens verandert :+ Schiet nogal op he als een 'constante' tijdens de uitwerking zou veranderen....

* WFvN 's verbeelding slaat op hol:
a + c = 6 met c = constant = 4

Even rekenen..... 6 - 4 = 2 dus a = 2..... FOUT TOOOOOO slow :+ want inmiddels is c 3 geworden :P
tzijn dus eigenlijk geen constanten, maar parameters 8)7

sowwy :?
You be sowwy ja.... zit ik dáárvoor helemaal niets te doen en m'n 92 al het werk te laten doen :+

enneh... nee, nog steeds niet klaar. flutding :+

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Verwijderd schreef op 22 juli 2004 @ 23:41:
[...]. En ehm... ik vrees dat mijn progsel dit een paar duizend keer moet uitvoeren, dan wordt het toch minder fijn :|
Kan reuze meevallen hoor, hoewel bovenstaande formule er voor een mens hopeloos uitziet, is het hooguit een paar honderd operaties, mits je geen 486 hebt, doet een moderne cpu er daar >10^8 per seconde van :Y)
En Turbo Pascal 5.5 kent geen Solve functie ;) (goh...)
Beter zoeken naar een numerieke bibliotheek, of een moderner develop pakket aanschaffen...

  • WFvN
  • Registratie: Oktober 2000
  • Laatst online: 18-11-2025

WFvN

Gosens Koeling en Warmte

Ik heb Derive maar eens geprobeerd (trial versie van TI).

Deze kwam aan met:

"Cx" = √(("Ax"^2·("By" - "Ey")^2 + 2·"Ax"·("Ey" - "By")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex") + ("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex"))·COS("Alfa") + 4·("Ax" - "Bx")·("By" - "Ay")·SIN("Alfa"))/(2·("Ay" - "By")·√(COS("Alfa"))) + ("Ax"·("By" - "Ey") - "Ay"·("Bx" + "Ex") + "Bx"·"Ey" + "By"·"Ex")/(2·("By" - "Ay")) ∧ COS("Alfa") ≠ 0 ∧ "Ax" - "Bx" ≠ 0

De diverse 'constantes' :+ staan tussen "" omdat derive ze anders ziet als afzonderlijke dingen... Cx is voor Derive dan C*x

de &#8800 die 2x voorkomt is het 'en'-teken... (ook wel AND)

Deze lijkt niet helemaal compleet gekopiëerd te zijn...

Herkansing:

"Cx" = √(("Ax"^2·("By" - "Ey")^2 + 2·"Ax"·("Ey" - "By")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex") + ("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex"))·COS("Alfa") + 4·("Ax" - "Bx")·("By" - "Ay")·SIN("Alfa"))/(2·("By" - "Ay")·√(COS("Alfa"))) + ("Ax"·("By" - "Ey") - "Ay"·("Bx" + "Ex") + "Bx"·"Ey" + "By"·"Ex")/(2·("By" - "Ay")) ∨ "Cx" = √(("Ax"^2·("By" - "Ey")^2 + 2·"Ax"·("Ey" - "By")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex") + ("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex")·("Ay"·("Bx" - "Ex") - "Bx"·"Ey" + "By"·"Ex"))·COS("Alfa") + 4·("Ax" - "Bx")·("By" - "Ay")·SIN("Alfa"))/(2·("Ay" - "By")·√(COS("Alfa"))) + ("Ax"·("By" - "Ey") - "Ay"·("Bx" + "Ex") + "Bx"·"Ey" + "By"·"Ex")/(2·("By" - "Ay"))

[ Voor 141% gewijzigd door WFvN op 23-07-2004 00:03 ]


Verwijderd

Topicstarter
Das nog niet veel korter ;)
Maargoed, ik zal morgen nog wel eens wat prutsen :?

Verwijderd

Als je goed kijkt naar de (snelle Maple) oplossing van The_Man, dan zie je halverwege een comma... Twee oplossingen dus, waarin slechts één - teken het verschil is. Daarnaast zijn een aantal termen gelijk en met wat meer kennis van die parameters kun je wel wat optimizen. Er hoeft maar één parameter nul te zijn en de halve vergelijking valt weg...

Succes

edit, overigens word je daar niet blij van... ;)

[ Voor 7% gewijzigd door Verwijderd op 23-07-2004 01:17 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op 22 juli 2004 @ 23:12:


-tan(Alfa)/(Cx-Ex) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By
is te schrijven in de vorm
ax^2 + bx + c =0. Het kost wat meer programmaregels maar je zou dus eerst A,B en C uit kunnen rekenen en vervolgens de oplossing bepalen.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Verwijderd schreef op 23 juli 2004 @ 01:14:
Als je goed kijkt naar de (snelle Maple) oplossing van The_Man, dan zie je halverwege een comma... Twee oplossingen dus, waarin slechts één - teken het verschil is. Daarnaast zijn een aantal termen gelijk en met wat meer kennis van die parameters kun je wel wat optimizen. Er hoeft maar één parameter nul te zijn en de halve vergelijking valt weg...

Succes

edit, overigens word je daar niet blij van... ;)
Ja, wel aardig, ik had de komma niet gezien :P Maar betekent dat dat er twee waarden voor m'n Cx zijn? Irl is er namelijk maar één :? (de vergelijking zoals die mn startpost staat is namelijk om een snijpunt tussen twee lijnen te vinden...)
Niesje schreef op 23 juli 2004 @ 11:26:
[...]

is te schrijven in de vorm
ax^2 + bx + c =0. Het kost wat meer programmaregels maar je zou dus eerst A,B en C uit kunnen rekenen en vervolgens de oplossing bepalen.
-tan(Alfa)/((1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By-Ey)+Ex-Cx = 0

how on earth wou je dat als ax^2+bx+c=0 schrijven???

  • phreggle
  • Registratie: Juni 2002
  • Niet online
Verwijderd schreef op 23 juli 2004 @ 12:10:
[...]
how on earth wou je dat als ax^2+bx+c=0 schrijven???
Ik heb het ff door Mathematica gegooid, (zie hier) en zoals je kan zien komt er idd een 2e graads vergelijking uit met 2 oplossingen.

Ik heb hieruit de a,b,c componenten gehaald en door de abc-formule gehaald en de oplossingen zijn gelijk aan de eerste oplossing van Mathematica. Dus die waarden kan je gebruiken. :)

  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Verwijderd schreef op 23 juli 2004 @ 12:10:
[...]
Maar betekent dat dat er twee waarden voor m'n Cx zijn? Irl is er namelijk maar één :?
Komt wel vaker voor dat van de twee oplossing van een fysisch systeem slechts één waarde juist is, omdat de andere een oplossing buiten je domein is (Bijvoorbeeld een tijdstip t<0). Dat zul je zelf moeten checken in de software.
Verder zou het best kunnen zijn dat door de waarde van je parameters de oplossingen samenvallen, namelijk b2-4*a*c=0 van je kwadratische vergelijking, er zijn dan twee identieke oplossingen x1,2=-b/(2*a)

Verwijderd

Topicstarter
[b][message=21276666,noline]Tarquareion schreef op 22 juli 2004 @ 23:12
De vergelijking is

-tan(Alfa)/(Cx-Ex) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By
Mag

-(Cx-Ex)*Tan(Alfa) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

ook? |:(

Ik had geloof ik iets teveel haast bij het opstellen van die vergelijking (had de teller en noemer omgewisseld terwijl ik van de deelstreep een keer had moeten maken :X) enfin, hij klopte bijna ;).... kheb hem nu net geplot en een paar keer nagerekend en zo klopt ie wel... kan Mathematica deze ook? *kan geen shame-icoontje vinden*............

/edit: dit is dus ook waarom er tot mijn verbazing twee mogelijke antwoorden waren ;) Hij had lineair moeten zijn, en mn 'nieuwe' is dat...

[ Voor 13% gewijzigd door Verwijderd op 23-07-2004 13:01 ]


  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
Matlab produceert de volgende twee antwoorden zoals je idd verwacht bij het oplossen van iets met de vorm a*x^2 + b*x + c = 0.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
>> (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By + tan(Alfa)/(Cx-Ex) - Ey
ans =
(1-(Cx-Ax)/(Bx-Ax))*Ay+(Cx-Ax)/(Bx-Ax)*By+tan(Alfa)/(Cx-Ex)-Ey
>> solve(ans,'Cx')
ans =
[ 1/2/(Ay-By)*(-By*Ax-Ey*Bx+Ey*Ax-By*Ex+Ay*Ex+Ay*Bx+
(2*By*Ax*Ey*Bx+2*By*Ax*Ay*Ex-2*By*Ax*Ay*Bx-
2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ey*Ax*By*Ex-
2*Ey*Ax*Ay*Ex+2*Ey*Ax*Ay*Bx+2*By*Ex*Ay*Bx+By^2*Ax^2+Ey^2*Bx^2+Ey^2
*Ax^2+By^2*Ex^2+Ay^2*Ex^2+Ay^2*Bx^2-2*By*Ax^2*Ey-2*By^2*Ax*Ex-
2*Ey^2*Bx*Ax-2*Ey*Bx^2*Ay-2*By*Ex^2*Ay-2*Ay^2*Ex*Bx+4*Ay*tan(Alfa)
*Bx+4*By*tan(Alfa)*Ax-4*Ay*tan(Alfa)*Ax-4*By*tan(Alfa)*Bx)^(1/2))]

[ 1/2/(Ay-By)*(-By*Ax-Ey*Bx+Ey*Ax-By*Ex+Ay*Ex+Ay*Bx-
(2*By*Ax*Ey*Bx+2*By*Ax*Ay*Ex-2*By*Ax*Ay*Bx-
2*Ey*Bx*By*Ex+2*Ey*Bx*Ay*Ex+2*Ey*Ax*By*Ex-
2*Ey*Ax*Ay*Ex+2*Ey*Ax*Ay*Bx+2*By*Ex*Ay*Bx+By^2*Ax^2+Ey^2*Bx^2+Ey^2
*Ax^2+By^2*Ex^2+Ay^2*Ex^2+Ay^2*Bx^2-2*By*Ax^2*Ey-2*By^2*Ax*Ex-
2*Ey^2*Bx*Ax-2*Ey*Bx^2*Ay-2*By*Ex^2*Ay-2*Ay^2*Ex*Bx+4*Ay*tan(Alfa)
*Bx+4*By*tan(Alfa)*Ax-4*Ay*tan(Alfa)*Ax-4*By*tan(Alfa)*Bx)^(1/2))]

>> pretty(ans)
 
        [
        [1/2 (-By Ax - Ey Bx + Ey Ax - By Ex + Ay Ex + Ay Bx + (2 By Ax Ey Bx

         + 2 By Ax Ay Ex - 2 By Ax Ay Bx - 2 Ey Bx By Ex + 2 Ey Bx Ay Ex

         + 2 Ey Ax By Ex - 2 Ey Ax Ay Ex + 2 Ey Ax Ay Bx + 2 By Ex Ay Bx

             2   2     2   2     2   2     2   2     2   2     2   2
         + By  Ax  + Ey  Bx  + Ey  Ax  + By  Ex  + Ay  Ex  + Ay  Bx

                  2          2             2                2             2
         - 2 By Ax  Ey - 2 By  Ax Ex - 2 Ey  Bx Ax - 2 Ey Bx  Ay - 2 By Ex  Ay

               2
         - 2 Ay  Ex Bx + 4 Ay tan(Alfa) Bx + 4 By tan(Alfa) Ax

                                                 1/2           ]
         - 4 Ay tan(Alfa) Ax - 4 By tan(Alfa) Bx)   )/(Ay - By)]

        [
        [1/2 (-By Ax - Ey Bx + Ey Ax - By Ex + Ay Ex + Ay Bx - (2 By Ax Ey Bx

         + 2 By Ax Ay Ex - 2 By Ax Ay Bx - 2 Ey Bx By Ex + 2 Ey Bx Ay Ex

         + 2 Ey Ax By Ex - 2 Ey Ax Ay Ex + 2 Ey Ax Ay Bx + 2 By Ex Ay Bx

             2   2     2   2     2   2     2   2     2   2     2   2
         + By  Ax  + Ey  Bx  + Ey  Ax  + By  Ex  + Ay  Ex  + Ay  Bx

                  2          2             2                2             2
         - 2 By Ax  Ey - 2 By  Ax Ex - 2 Ey  Bx Ax - 2 Ey Bx  Ay - 2 By Ex  Ay

               2
         - 2 Ay  Ex Bx + 4 Ay tan(Alfa) Bx + 4 By tan(Alfa) Ax

                                                 1/2           ]
         - 4 Ay tan(Alfa) Ax - 4 By tan(Alfa) Bx)   )/(Ay - By)]
>>


Ik ga me er zelf in dit geval me er niet teveel in verdiepen, maar je kan OOK ITERATIEF tot een oplossing komen. Dit is vaak de enigste algoritmische oplossing voor (schijnbaar) 'niet' oplosbare formules...

voorbeeld:

stel we nemen de (eenvoudige en WEL omkeerbare) vergelijking y=x^2, waarbij OMGEKEERD x is dus ofwel +sqrt(y) of -sqrt(y) is... (maar stel dat weten we nog ff niet)

stel we willen x als functie van y uitrekenen...

Neem bijvoorbeeld y = 9 (x zal dat uiteraard 3 zijn, maar dat weten we alleen maar om dat we de 'omgekeerde' konden uitrekenen)

Ga nu eens het antwoord bepalen volgens een ITERATIEF algoritme:

(hieronder een simplistische variant daarvan om het uit te leggen voor het
probleem van y=x^2, in MatLab code)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
y=9;            % PROBEER hier ook eens een onmogelijke y (bijv y=-9), dit zal een oneindige iteratie opleveren, 
                % zij het niet dat ie na 100 iteraties gestopt wordt
x_it=y;         % PROBEER eens x_it = y, maar ook eens x_it = -y (de eerste zal het antwoord x=3 en de ander x=-3 geven!)
x_step=x_it;
e=1;
ep=1;
i=0;
while e>=1e-3
    % count iterations
    i = i + 1;
    % gok een y (hier zou je je eigen formule kunnen hanteren)
    y_it = x_it ^ 2;
    % wat is het verschil
    diff = (y_it - y);
    % bereken verder nog de absolute factoriele afwijking (fout)
    e = abs(diff / y);    
    % fout groter geworden?
    if e > ep
        % inverteer de stap-richting
        x_step = -x_step;
    else
        % halveer stap alleen als richting goed is
        x_step = x_step/2;
    end
    x_it = x_it + x_step;
    % sla vorige fout op
    ep=e;
    % display
    disp(['i= ', num2str(i), ' x_it= ', num2str(x_it), ' e =', num2str(e)]);
    % stop iteratie indien na 100 iteraties nog geen antwoord is bereikt
    if i >= 100
        break;
    end
end

% eindresultaat van de omgekeerde berekening x=f(y) staat in x voor y=9 in
% dit geval.


Let op dat dat het antwoord dus afhangt van de initieel gekozen x_it (en uiteraard y, daar dit 'oneindige iteraties' op kan leveren) >> checken dus...

Dit is een eventueel alternatief voor de exacte oplossing die Matlab en de anderen met Maple uitgespuugd hebben... Iteratief oplossingen kunnen in sommige gevallen (lees: in trage embedded systemen/ microcontrollers met trage klokfrequentie, op RISC processoren, zakrekendozen, etc...) sneller zijn dan exacte!!!

[ Voor 6% gewijzigd door Doineann op 23-07-2004 13:01 ]

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


  • phreggle
  • Registratie: Juni 2002
  • Niet online
Verwijderd schreef op 23 juli 2004 @ 12:53:
[...]
Mag

-(Cx-Ex)*Tan(Alfa) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

ook? |:(
Mathematica maakt dit er van:

Afbeeldingslocatie: http://anouk.linuxbak.org/~phreggle/zooi/formule2.png

Nu komt er een lineair antwoord uit idd. :)
Dit maakt het weer een stuk eenvoudiger.

  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
Verwijderd schreef op 23 juli 2004 @ 12:53:
[...]


Mag

-(Cx-Ex)*Tan(Alfa) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

ook? |:(
Dat verandert de zaak ;)

Matlab:

code:
1
2
3
4
5
6
7
8
solve((1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By +(Cx-Ex)*tan(Alfa) - Ey,Cx)
ans =
-(-Ay*Bx+By*Ax+tan(Alfa)*Ex*Bx-tan(Alfa)*Ex*Ax+Ey*Bx-Ey*Ax)/(Ay-By-tan(Alfa)*Bx+tan(Alfa)*Ax)
>> pretty(ans)
 
       -Ay Bx + By Ax + tan(Alfa) Ex Bx - tan(Alfa) Ex Ax + Ey Bx - Ey Ax
     - ------------------------------------------------------------------
                     Ay - By - tan(Alfa) Bx + tan(Alfa) Ax


Een soort van iteratieve oplossing die ik hierboven beschreven heb kan overigens ook altijd nog gebruikt worden, afhanklijk dus van de toepassing...

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
phreggle schreef op 23 juli 2004 @ 13:05:
[...]


Mathematica maakt dit er van:

[afbeelding]

Nu komt er een linair antwoord uit idd. :)
Dit maakt het weer een stuk eenvoudiger.
Matlab beweerde dus ongeveer hetzelfde :?

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


Verwijderd

Verwijderd schreef op 22 juli 2004 @ 23:12:

-tan(Alfa)/(Cx-Ex) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

Dit wil ik schrijven als

Cx = ...

sja, op zich gaat dat wel, alleen wil ik dan aan de rechterkant GEEN Cx'jes meer over houden :(
Alle andere variabelen hierin - d.w.z: Ax, Ay, Bx, By, Ex, Ey en Alfa - zijn constant.
Wat wil je precies?


Als ik naar je formule kijk, dan zijn x en y de variabelen, en a,b,c, e en alpha de constanten.

Ik kan snappen dat je x wil vrijschrijven, zodat als je alle constantes weet, en de y warade weet, je x kunt uitrekenen.

Ik kan snappen dat je c wilt uitrekenen voor een set van (x,y) en de andere constanten.

maar waarom wil je Cx vrijschrijven?

Kun je iets meer uitleg geven?

  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
Verwijderd schreef op 23 juli 2004 @ 13:12:
[...]


Wat wil je precies?


Als ik naar je formule kijk, dan zijn x en y de variabelen, en a,b,c, e en alpha de constanten.

Ik kan snappen dat je x wil vrijschrijven, zodat als je alle constantes weet, en de y warade weet, je x kunt uitrekenen.

Ik kan snappen dat je c wilt uitrekenen voor een set van (x,y) en de andere constanten.

maar waarom wil je Cx vrijschrijven?

Kun je iets meer uitleg geven?
zijn vergelijking is inmiddels:

-(Cx-Ex)*Tan(Alfa) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


  • phreggle
  • Registratie: Juni 2002
  • Niet online
TheGathering schreef op 23 juli 2004 @ 13:10:
[...]


Matlab beweerde dus ongeveer hetzelfde :?
Mjah.. je ziet wel dat Mathematica nog twee keer tan(alfa) buiten haakjes haalt... Maar goed da's niet heel spannend meer verder. :P

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 29-12-2025

GeeBee

Oddball

Verwijderd schreef op 23 juli 2004 @ 13:12:
[...]
Als ik naar je formule kijk, dan zijn x en y de variabelen, en a,b,c, e en alpha de constanten.
Zoals ik 'm lees zijn x en y richtingen.
Cx is dan de x-component van C
By de y-component van B etc

Misschien kan de TS een tekening geven en iets vertellen over de achtergrond van het probleem? Soms kan een andere benadering van hetzelfde probleem verfrissend werken.

[ Voor 29% gewijzigd door GeeBee op 23-07-2004 13:18 ]

Woof, woof, woof! That's my other dog imitation.


  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
Verwijderd schreef op 23 juli 2004 @ 13:12:
[...]

Als ik naar je formule kijk, dan zijn x en y de variabelen, en a,b,c, e en alpha de constanten.

maar waarom wil je Cx vrijschrijven?
-(Cx-Ex)*Tan(Alfa) + Ey = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By

Als ik naar de formule kijk denk ik dat Ex,Ax,Bx,Ay,By op zichzelf staande constanten zijn en dat Cx zo ook gezien moet worden als 'Cx' en niet als C*x!

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


Verwijderd

Uhm mensen, worden jullie hier niet absoluut knetter van, al die letters en getallen enzo?

In ieder geval, respect voor de mensen die het begrijpen!
/me heeft zat moeite met z'n Wiskunde A1,2 op VWO6

  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
Verwijderd schreef op 23 juli 2004 @ 13:20:
Uhm mensen, worden jullie hier niet absoluut knetter van, al die letters en getallen enzo?

In ieder geval, respect voor de mensen die het begrijpen!
/me heeft zat moeite met z'n Wiskunde A1,2 op VWO6
Er valt eigelijk nog niks aan te begrijpen totdat Tarquaerion uitlegt waar de formule betrekking op heeft ;)

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 29-12-2025

GeeBee

Oddball

da's het mooie van wiskunde he....

Woof, woof, woof! That's my other dog imitation.


  • Doineann
  • Registratie: Mei 2004
  • Laatst online: 26-11-2024
GeeBee schreef op 23 juli 2004 @ 13:28:
da's het mooie van wiskunde he....
pcies ;), maar ik moet toegeven dat het soms ook wel mijn strotje uitkomt :r :)

Reality is merely an illusion, albeit a very persistent one. - Albert Einstein


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Verwijderd schreef op 23 juli 2004 @ 13:20:
Uhm mensen, worden jullie hier niet absoluut knetter van, al die letters en getallen enzo?

In ieder geval, respect voor de mensen die het begrijpen!
/me heeft zat moeite met z'n Wiskunde A1,2 op VWO6
Dit is niets anders dan heel veel keer optellen, aftrekken, vermenigvuldigen en delen, met een paar verschillende variabelen. Het ziet er misschien complex uit, maar dat is het niet. Er valt hier ook niets aan te begrijpen: het is gewoon het omschrijven van een formule, waarvan de expliciet uitdrukking voor een bepaalde variabele erg lang is. Jij kan dit prima begrijpen met VWO6 wiskunde; je moet je niet laten misleiden door de hoeveelheid operaties en variabelen.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Wow, bedankt! :) _/-\o_

Verwijderd

Topicstarter
Verwijderd schreef op 23 juli 2004 @ 13:12:
[...]


Wat wil je precies?


Als ik naar je formule kijk, dan zijn x en y de variabelen, en a,b,c, e en alpha de constanten.

Ik kan snappen dat je x wil vrijschrijven, zodat als je alle constantes weet, en de y warade weet, je x kunt uitrekenen.

Ik kan snappen dat je c wilt uitrekenen voor een set van (x,y) en de andere constanten.

maar waarom wil je Cx vrijschrijven?

Kun je iets meer uitleg geven?
GeeBee schreef op 23 juli 2004 @ 13:16:
[...]

Zoals ik 'm lees zijn x en y richtingen.
Cx is dan de x-component van C
By de y-component van B etc

Misschien kan de TS een tekening geven en iets vertellen over de achtergrond van het probleem? Soms kan een andere benadering van hetzelfde probleem verfrissend werken.
Komtie ;)

Het is voor een 3D-toepassing, namelijk om een lijn die maar gedeeltelijk zichtbaar is toch te kunnen tekenen. (om het simpel te houden heb ik hier maar 2 assen gebruikt, maar dat omrekenen naar 3 is makkelijk genoeg...) Het "oog" ziet exact 180 graden, dus de grens van het kijkgebied is een rechte lijn. De bijbehorende functie is

-(Cx-Ex)*Tan(Alpha)+Ey

Verder heb ik een lijn AB (Cy = (1-(Cx-Ax)/(Bx-Ax))*Ay + (Cx-Ax)/(Bx-Ax)*By), die dus maar half zichtbaar is. Nu moet ik weten waar de lijn AB de grenslijn van het hoekgebied snijdt, om toch een deel te kunnen tekenen... het snijpunt noem ik punt C en heeft dus de coordinaten C(Cx, Cy) (de z laat ik nog even achterwege dus, easy enough)
A en B hebben dus de coördinaten A(Ax, Ay) en B(Bx, By). Het oog, oftewel Eye (punt E) heeft de coördinaten E(Ex, Ey).
Punt C staat (logischerwijs) recht op de kijkrichting, en is daarom niet precies het punt dat ik nodig ben, hij moet namelijk zo dicht mogelijk bij 90 graden liggen, maar net geen 90 graden zijn... maar hoe ik dat laatste stukje doe, zie ik nog wel...

[ Voor 16% gewijzigd door Verwijderd op 23-07-2004 13:54 ]


Verwijderd

kun je een tekening maken?

Verwijderd

Topicstarter
Had ik gister al voor een ander gemaakt :)

Afbeeldingslocatie: http://www.wiccansite.com/Ad.jpg

De lijn f in deze tekening is de grens van het kijkgebied... de lijn f(x)=3x (eehhh ja, het is niet zo netjes getekend...) is hierin dus het "linker"deel van de vergelijking, en het oog staat in de oorsprong --> E(0, 0)

Normaal zal ik -(Cx-Ex)*Tan(Alfa) (/edit: (Ex-Cx)*Tan(Alfa) is makkelijker :P) moeten gebruiken voor de grens van het kijkgebied, maar zo is het ook wel duidelijk... (Reken terug en je vindt dat
Alfa = -18 graden (ofzoiets, heb het gister uitgerekend)... Alfa is de hoek tussen de y-as en de kijkrichting (oftewel de lijn die ongeveer zo loopt: \ de meest linker dus), rechtsom gemeten, en altijd in het bereik <-180; 180])

[ Voor 5% gewijzigd door Verwijderd op 23-07-2004 14:42 ]


Verwijderd

Ik denk dat je probleem de notatie is.

Je moet de vector voorstelling van die lijnen opschrijven, en een snijpunt daarna uitrekenen is echt een fluitje van een cent.

http://chortle.ccsu.edu/VectorLessons/vectorIndex.html

  • GeeBee
  • Registratie: Maart 2000
  • Laatst online: 29-12-2025

GeeBee

Oddball

Dat bedoel ik met een frisse kijk op het probleem. Grafische kaarten werken intern volgens mij bijna alleen maar met vectorvoorstellingen met de bijbehorende matrixbewerkingen en niet met gonio zoals TS het probleem aanpakte.

[ Voor 10% gewijzigd door GeeBee op 23-07-2004 18:05 ]

Woof, woof, woof! That's my other dog imitation.


  • Henk007
  • Registratie: December 2003
  • Laatst online: 06-04-2025
Verwijderd schreef op 23 juli 2004 @ 13:45:
Het is voor een 3D-toepassing, namelijk om een lijn die maar gedeeltelijk zichtbaar is toch te kunnen tekenen.
Het lijkt er een beetje op dat je opnieuw het wiel aan het uitvinden bent. Dit soort operaties is al lang en breed in diverse literatuur en software voor je voorgekauwd.
Vooraf wil ik wel verklappen dat het niet met cartesische coördinaten werkt, maar veel eenvoudiger met vectoren en matrices. Die tak van sport wordt lineaire algebra genoemd. Begin dus eerst eens met je de theorie eigen te maken.

[ Voor 6% gewijzigd door Henk007 op 23-07-2004 21:41 ]

Pagina: 1