Moin,
hab gerade eine _Solve()-UDF geschrieben.
Die Funktion löst eine Gleichung auf.
Code und Beispiel ( für Funktion x+20 = x^2
Spoiler anzeigen
#include 'Array.au3'
$lSolve = _Solve( "x+20", "x^2" )
_ArrayDisplay( $lSolve, 'x' )
Func _Solve( $aFirst, $aSecond, $aWidth = 10000 )
Local $lFirst, $lSecond, $aReturn[1] = [0]
If ( ( $aFirst = '' ) or ( $aSecond <> '' ) or ( $aWidth <= 0 ) ) Then
Return $aX[1] = [ 'Error' ]
EndIf
For $lNum = 1 to $aWidth
$lFirst = StringReplace( $aFirst, 'x', $lNum )
$lSecond = StringReplace( $aSecond, 'x', $lNum )
If ( Execute( $lFirst ) = Execute( $lSecond ) ) Then
_ArrayAdd( $aReturn, $lNum )
$aReturn[0] += 1
EndIf
$lFirst = StringReplace( $aFirst, 'x', -1 * $lNum )
$lSecond = StringReplace( $aSecond, 'x', -1 * $lNum )
If ( Execute( $lFirst ) = Execute( $lSecond ) ) Then
_ArrayAdd( $aReturn, -1 * $lNum )
$aReturn[0] += 1
EndIf
Next
Return $aReturn
EndFunc
Mfg