?? 0618.frm
字號:
VERSION 5.00
Object = "{0E59F1D2-1FBE-11D0-8FF2-00A0D10038BC}#1.0#0"; "msscript.ocx"
Begin VB.Form Form1
BackColor = &H8000000C&
Caption = "Form1"
ClientHeight = 6240
ClientLeft = 5175
ClientTop = 4140
ClientWidth = 7455
Icon = "0618.frx":0000
LinkTopic = "Form1"
ScaleHeight = 6240
ScaleWidth = 7455
Begin VB.TextBox Text7
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2040
TabIndex = 15
Text = "計算次數(shù)"
Top = 5520
Width = 4215
End
Begin VB.TextBox Text6
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2040
TabIndex = 14
Text = "minf(x)"
Top = 4920
Width = 4215
End
Begin VB.TextBox Text5
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2040
TabIndex = 13
Text = "x"
Top = 4320
Width = 4215
End
Begin VB.TextBox Text4
Alignment = 2 'Center
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1920
TabIndex = 9
Text = "3*x*x-21.6*x-1"
Top = 2880
Width = 3495
End
Begin VB.CommandButton Command2
Cancel = -1 'True
Caption = "退出"
Height = 495
Left = 5400
TabIndex = 7
Top = 1320
Width = 1215
End
Begin VB.CommandButton Command1
Caption = "運行"
Height = 495
Left = 5400
TabIndex = 6
Top = 480
Width = 1215
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1680
TabIndex = 5
Text = "1"
Top = 1800
Width = 1575
End
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1680
TabIndex = 4
Text = "10"
Top = 1080
Width = 1575
End
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1680
TabIndex = 3
Text = "0"
Top = 360
Width = 1575
End
Begin MSScriptControlCtl.ScriptControl ScriptControl1
Left = 5880
Top = 2640
_ExtentX = 1005
_ExtentY = 1005
End
Begin VB.Label Label8
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "計算次數(shù)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 360
TabIndex = 16
Top = 5520
Width = 1290
End
Begin VB.Label Label7
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "輸出:"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 360
TabIndex = 12
Top = 3720
Width = 1290
End
Begin VB.Line Line1
BorderWidth = 2
X1 = 0
X2 = 7800
Y1 = 3480
Y2 = 3480
End
Begin VB.Label Label6
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "min f(x)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 360
TabIndex = 11
Top = 4920
Width = 1290
End
Begin VB.Label Label5
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "x:"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 360
TabIndex = 10
Top = 4320
Width = 1290
End
Begin VB.Label Label4
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "min f(x)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 480
TabIndex = 8
Top = 2880
Width = 1095
End
Begin VB.Label Label3
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "精度(e)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 120
TabIndex = 2
Top = 1920
Width = 1335
End
Begin VB.Label Label2
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "右邊界(b)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 120
TabIndex = 1
Top = 1200
Width = 1290
End
Begin VB.Label Label1
Alignment = 2 'Center
BackColor = &H8000000C&
Caption = "左邊界(a)"
BeginProperty Font
Name = "宋體"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 120
TabIndex = 0
Top = 480
Width = 1290
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'黃金分隔法求極值
'研自0816 胡興武
Private Sub Command1_Click()
Dim a, b, e, t1, t2, f1, f2 As Single
Dim Count As Integer
Dim x As String
x = "x"
a = ScriptControl1.Eval(Text1.Text) '左邊界
b = ScriptControl1.Eval(Text2.Text) '右邊界
e = ScriptControl1.Eval(Text3.Text) '精度要求
t1 = a + 0.382 * (b - a)
t2 = a + 0.618 * (b - a)
'計算邊界的函數(shù)值
f1 = ScriptControl1.Eval(Replace(Text4.Text, x, CStr(t1)))
f2 = ScriptControl1.Eval(Replace(Text4.Text, x, CStr(t2)))
While (Abs(a - b) > e) '比較兩邊界的差值是否小于精度要求
'掉換邊界
If f1 > f2 Then
a = t1
b = b
t1 = t2
t2 = a + 0.618 * (b - a)
f2 = ScriptControl1.Eval(Replace(Text4.Text, x, CStr(t2)))
Count = Count + 1
Else
a = a
b = t2
t2 = t1
t1 = a + 0.382 * (b - a)
f1 = ScriptControl1.Eval(Replace(Text4.Text, x, CStr(t1)))
Count = Count + 1
End If
Wend
'輸出顯示
Text5.Text = (a + b) / 2
Text6.Text = ScriptControl1.Eval(Replace(Text4.Text, x, (a + b) / 2))
Text7.Text = Str(Count)
End Sub
Private Sub Command2_Click()
End
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -