Hallo.
Vielleicht kann ja jemand dieses kleine Script gebrauchen. Man gibt seinen Funktionsterm an, den ersten x-Wert und den letzten x-Wert und das Intervall dazwischen und das Script rechnet dann für die alle x-Werte die y-Werte aus, und gibt sie in einer Tabelle aus.
So kann man sich dann auch Nullstellen ausgeben lassen, wenn man das richtige Intervall erwischt. Sachen wie Sin, Cos, usw. sollten auch funktionieren.
Habe mir das mal für die Polynomfunktionen gescriptet, die wir gerade im Mathe-Unterricht behandeln und hab mir gedacht vielleicht will jemand so etwas auch benutzen.
Hier der Code:
Spoiler anzeigen
#include <Array.au3>
#include <GUIConstants.au3>
Opt('GUIOnEventMode', 1)
[/autoit] [autoit][/autoit] [autoit]Global $sTitle = "WerteTabelle - by Bakku (http://www.autoit.de)"
Global $iWidth = 400
Global $iHeight = 400
Global $iStart
Global $iStop
Global $iStep
Global $array[1], $j
$hGUI = GUICreate($sTitle, $iWidth, $iHeight)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUICtrlCreateLabel("Funktionsterm:", 30, 53)
$hInput = GUICtrlCreateInput("", 120, 50, 200, 20)
$hGo = GUICtrlCreateButton("GO!", 340, 50, 50, 20)
GUICtrlSetOnEvent($hGo, "_Clicked")
$hListView = GUICtrlCreateListView("X|Wert", 10, 100, 380, 290)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1 * Sleep(10)
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit]Func _Delete()
For $i = 1 to UBound($array)-1
GUICtrlDelete($array[$i])
Next
EndFunc
Func _Clicked()
If UBound($array) <> 1 Then
_Delete()
EndIf
$iStart = InputBox("Start", "Startwert eingeben!")
$iStop = InputBox("Stop", "Stopwert eingeben!")
$iStep = InputBox("Step", "Stepwert eingeben!")
For $i = $iStart to $iStop Step +$iStep
$input = GUICtrlRead($hInput)
$new = StringRegExpReplace($input, "x", $i)
$result = Execute($new)
$list = GUICtrlCreateListViewItem($i & "|" & $result, $hListView)
_ArrayAdd($array, $list)
Next
EndFunc
Func _Exit()
Exit
EndFunc