labview solve x

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • sadiek
  • Registratie: Januari 2017
  • Laatst online: 04-03 18:13
hallo mensen,
misschien is dit iets simpels. maar ik kom er niet echt uit.

de formule luidt: 4^X + 7X^3 = A
op mijn front panel heb ik: een numerical input waar je het getal A in kunt vullen
en de output waar X in hoort te verschijnen met 3 cijfers achter de komma.
Dus stel, ik vul 200 in bij A. Dan zou er een X uit moeten komen als je op enter drukt.

Hoe in hemels naam programmeer ik dit?

Acties:
  • 0 Henk 'm!

  • Hoeloeloe
  • Registratie: December 2007
  • Laatst online: 08-10 21:34
Schrijf de formule om naar X als functie van A en stop de gevonden formule in een Formula Node. Helaas heeft die formule heeft niet 1 antwoord maar meerdere, maximaal 3 waaronder complexe antwoorden.
Zie wolfram alpha (https://www.wolframalpha....a+%3D+4x+%2B+7x%5E3+for+x) voor de omschrijving van de formule naar de vorm X = f(A), en de exacte antwoorden die daar bij horen. Handmatig wil je dit niet doen.
Zie http://www.ni.com/white-paper/7572/en/ voor hoe de formula node werkt en hoe je deze mooi implementeert in labview.

Alternatief zou je nog een loop kunnen maken die slim meerdere waarden van x probeert in de formule en dan een antwoord vindt dat in de buurt licht van je gewenste A. Op deze wijze kun je een redelijke schatting vinden van je antwoord

[ Voor 26% gewijzigd door Hoeloeloe op 13-01-2017 18:25 ]


Acties:
  • 0 Henk 'm!

  • sadiek
  • Registratie: Januari 2017
  • Laatst online: 04-03 18:13
Hoeloeloe schreef op vrijdag 13 januari 2017 @ 18:22:
Schrijf de formule om naar X als functie van A en stop de gevonden formule in een Formula Node. Helaas heeft die formule heeft niet 1 antwoord maar meerdere, maximaal 3 waaronder complexe antwoorden.
Zie wolfram alpha (https://www.wolframalpha....a+%3D+4x+%2B+7x%5E3+for+x) voor de omschrijving van de formule naar de vorm X = f(A), en de exacte antwoorden die daar bij horen. Handmatig wil je dit niet doen.
Zie http://www.ni.com/white-paper/7572/en/ voor hoe de formula node werkt en hoe je deze mooi implementeert in labview.

Alternatief zou je nog een loop kunnen maken die slim meerdere waarden van x probeert in de formule en dan een antwoord vindt dat in de buurt licht van je gewenste A. Op deze wijze kun je een redelijke schatting vinden van je antwoord
Je hebt de formule verkeerd ingevuld op de wolfwebsite. Als ik de juiste formule invul. bestaat er geen antwoord?

Acties:
  • 0 Henk 'm!

  • Hoeloeloe
  • Registratie: December 2007
  • Laatst online: 08-10 21:34
Ik had het dakje inderdaad gemist, dat maakt het moeilijk. Zonder omgeschreven formule blijft de alternatieve aanpak nog wel werken. Wolfram geeft wel een beeld van wat de functie doet, misschien dat je dat kunt gebruiken om de (start)waarde van x te schatten en vervolgens in de goede richting x aan te passen tot je een A vindt die in buurt ligt van je gevraagde A.

Acties:
  • 0 Henk 'm!

  • sadiek
  • Registratie: Januari 2017
  • Laatst online: 04-03 18:13
Hoeloeloe schreef op vrijdag 13 januari 2017 @ 22:15:
Ik had het dakje inderdaad gemist, dat maakt het moeilijk. Zonder omgeschreven formule blijft de alternatieve aanpak nog wel werken. Wolfram geeft wel een beeld van wat de functie doet, misschien dat je dat kunt gebruiken om de (start)waarde van x te schatten en vervolgens in de goede richting x aan te passen tot je een A vindt die in buurt ligt van je gevraagde A.
Mijn plan was dus om de formule te pakken en dan voor x = 0 invullen
dit in een while stoppen?
en steeds x + 0.001 doen tot dat de formule gelijk is aan A

als het goed is moet dat werken, maar ik weet niet hoe ik dit vertaal naar labview :X

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Zo aan de grafiek te zien (monotoon stijgend) kan je ook een binary search gebruiken. Dat gaat veel sneller. Geen idee hoe je dat in labview moet doen.

Acties:
  • 0 Henk 'm!

  • sadiek
  • Registratie: Januari 2017
  • Laatst online: 04-03 18:13
Kan iemand mij uitleggen hoe ik zo'n itteratie maak in labview.
ik gebruik nu deze formule. log(x) + 3x = A

ik begin dus met een formule node. daarin stop ik twee formules
x1 = log(x);
x2 = x*x*x;
Daarna gebruik ik een add functie die x1 en x2 optelt.
Daarna moet dit getal worden vergeleken met A
Komt het niet overeen dan moet x met 0.001 worden opgeteld. (ik begin met x = 0)
Dit loopt zo in een lus door tot de formule met A gelijk is.

Maar hoe zet ik dit in labview?
iemand?

Acties:
  • 0 Henk 'm!

  • jomas
  • Registratie: Mei 2011
  • Laatst online: 18:26
sadiek schreef op zaterdag 14 januari 2017 @ 18:07:
Kan iemand mij uitleggen hoe ik zo'n itteratie maak in labview.
ik gebruik nu deze formule. log(x) + 3x = A

ik begin dus met een formule node. daarin stop ik twee formules
x1 = log(x);
x2 = x*x*x;
Daarna gebruik ik een add functie die x1 en x2 optelt.
Daarna moet dit getal worden vergeleken met A
Komt het niet overeen dan moet x met 0.001 worden opgeteld. (ik begin met x = 0)
Dit loopt zo in een lus door tot de formule met A gelijk is.

Maar hoe zet ik dit in labview?
iemand?
Je voorbeeld in de topicstart maar ook je 2e voorbeeld zijn simpel op te lossen met met behulp van numerieke wiskunde.
Bijvoorbeeld 4^X + 7X^3 = A schrijf je dan als f(x) = 4^x + 7x^3 - A
Dan zoek je met behulp van b.v. de 'Newton Raphson' methode het nulpunt van deze functie.
Dit soort methoden zijn beschikbaar voor vrijwel elke programmeertaal.
Pagina: 1