'CTRL+T ==>Microsoft ScriptControl Option ExplicitPublic Y As Double Public X As Double'引用Private Sub Command1_Click() Dim MathStr As String Dim TmpStr As String
MathStr = "2*(X^2)+3*(X)+23" '定义一个数学函数
For X = -10 To 10 Step 0.05 TmpStr = Replace(MathStr, "X", X) '替换掉原公式中的值 Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值. '坐标原点是500,500 Picture1.CurrentX = 1000 + X * 15 Picture1.CurrentY = 3000 - Y * 15 '注意,电脑的Y坐标与数学坐标是相反的. Picture1.Print "." Next End Sub
'改一下:Private Sub Command1_Click() Dim MathStr As String Dim TmpStr As String
For X = -10 To 10 Step 0.05 TmpStr = Replace(ucase$(MathStr), "X", X) '替换掉原公式中的值 Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值. '坐标原点是500,500 Picture1.CurrentX = 1000 + X * 15 Picture1.CurrentY = 3000 - Y * 15 Picture1.Print "." Next End Sub
Option ExplicitPublic Y As Double
Public X As Double'引用Private Sub Command1_Click()
Dim MathStr As String
Dim TmpStr As String
MathStr = "2*(X^2)+3*(X)+23" '定义一个数学函数
For X = -10 To 10 Step 0.05
TmpStr = Replace(MathStr, "X", X) '替换掉原公式中的值
Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值.
'坐标原点是500,500
Picture1.CurrentX = 1000 + X * 15
Picture1.CurrentY = 3000 - Y * 15 '注意,电脑的Y坐标与数学坐标是相反的.
Picture1.Print "."
Next
End Sub
Dim MathStr As String
Dim TmpStr As String
MathStr = "2*(X^2)+3*(X)+23" '定义一个数学函数,也可以用一个TEXTBOX输入,例如:输入 1/(2*x)+16 等,但公式中只能有一个变量,就是X.而且,也要调整下面的FOR语句.的X的初始值.
For X = -10 To 10 Step 0.05
TmpStr = Replace(ucase$(MathStr), "X", X) '替换掉原公式中的值
Y = ScriptControl1.Eval(TmpStr) '根据表达式计算值.
'坐标原点是500,500
Picture1.CurrentX = 1000 + X * 15
Picture1.CurrentY = 3000 - Y * 15
Picture1.Print "."
Next
End Sub