⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 33010407.frm

📁 初学者学习测试技术系统的好助手,希望大家认真学习!..
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Weight          =   700
         Underline       =   0   'False
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   720
      TabIndex        =   12
      Top             =   2520
      Width           =   375
   End
   Begin VB.Line Line2 
      BorderColor     =   &H00000000&
      BorderWidth     =   8
      X1              =   1440
      X2              =   1440
      Y1              =   8040
      Y2              =   8640
   End
   Begin VB.Label Label3 
      Alignment       =   2  'Center
      BackColor       =   &H00C0C0C0&
      Caption         =   "用时"
      Enabled         =   0   'False
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   615
      Left            =   7680
      TabIndex        =   10
      Top             =   1080
      Width           =   615
   End
   Begin VB.Line Line1 
      BorderColor     =   &H00000000&
      BorderWidth     =   8
      X1              =   795
      X2              =   795
      Y1              =   5640
      Y2              =   8640
   End
   Begin VB.Label Label2 
      BackColor       =   &H00C0C0C0&
      Caption         =   "  Cg"
      BeginProperty Font 
         Name            =   "Bodoni MT Condensed"
         Size            =   15.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   495
      Left            =   3000
      TabIndex        =   5
      Top             =   960
      Width           =   615
   End
   Begin VB.Label Label1 
      BackColor       =   &H00C0C0C0&
      Caption         =   "  k"
      BeginProperty Font 
         Name            =   "Bodoni MT Condensed"
         Size            =   21.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   495
      Left            =   5640
      TabIndex        =   1
      Top             =   960
      Width           =   615
   End
   Begin VB.Menu r33010407任旭 
      Caption         =   "r33010407任旭"
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Const k = 0.375, f = 0.95
Const x = 2, max = 200
Const h = 6, Cd = 0.1, Co = 0.2
Dim xc, x3, y3, x4, xcl, L As Single
Dim Tm, Cg, flag As Single
Dim g(max), w(max) As Single                 '追赶法中使用的系数g,w
Dim a(max), b(max), d(max) As Single         '矩阵方程系数
Dim a1(max), b1(max), d1(max) As Single
Dim s(max), c(max), c1(max) As Single        'c,c1为浓度
Dim i As Integer
                                                   
                                                '重置
Private Sub Command2_Click()
Picture1.Refresh
 For i = 1 To max
        Picture1.Line (i * 40, Picture1.ScaleHeight)-(i * 40, Picture1.ScaleHeight - 600), RGB(255, 0, 0) '作工件表面原始含碳量
    Next
    flag = 1
    Timer1.Enabled = False
    For i = 1 To max            '定义初始浓度
        c(i) = Co
        c1(i) = Co
    Next
    Tm = Tm + 1
    Text1.Text = "80"
    Text2.Text = "1"
    Text3.Text = "0"
    Tm = 0
    Command1.Caption = "Start"
    Line2.Y1 = 8040
    Line1.Y1 = 5640
    
        For i = 1 To max            '定义初始浓度
        c(i) = Co
        c1(i) = Co
    Next
    Cg = 1
    flag = 0

    a(1) = -f                   '矩阵元素赋值与计算
    d(1) = 1 + f + k
    For i = 2 To max - 1
        a(i) = -f
        b(i) = -f
        d(i) = 2 * (1 + f)
    Next
    b(max) = -f
    d(max) = 1 + f
    
    a1(1) = f
    d1(1) = 1 - f - k
    For i = 2 To max - 1
        a1(i) = f
        b1(i) = f
        d1(i) = 2 * (1 - f)
    Next
    b1(max) = f
    d1(max) = 1 - f
    Timer1.Enabled = True
End Sub
                                                '退出程序
Private Sub Command3_Click()
End
End Sub

Private Sub Form_Load()
  
    For i = 1 To max            '定义初始浓度
        c(i) = Co
        c1(i) = Co
    Next
    Cg = 1
    flag = 0

    a(1) = -f                   '矩阵元素赋值与计算
    d(1) = 1 + f + k
    For i = 2 To max - 1
        a(i) = -f
        b(i) = -f
        d(i) = 2 * (1 + f)
    Next
    b(max) = -f
    d(max) = 1 + f
    
    a1(1) = f
    d1(1) = 1 - f - k
    For i = 2 To max - 1
        a1(i) = f
        b1(i) = f
        d1(i) = 2 * (1 - f)
    Next
    b1(max) = f
    d1(max) = 1 - f
End Sub

                                                                                    '启动及暂停程序
Private Sub Command1_Click()
    If Command1.Caption = "pause" Then
        Command1.Caption = "continue"
        Timer1.Enabled = False
    Else
        Command1.Caption = "pause"
        Timer1.Enabled = True
    End If
End Sub

Private Sub r33010407任旭_Click()
End
End Sub

Private Sub Timer1_Timer()

If flag = 0 Then

    For i = 1 To max
        Picture1.Line (i * 40, Picture1.ScaleHeight)-(i * 40, Picture1.ScaleHeight - 600), RGB(255, 0, 0)
    Next
    flag = 1
    Timer1.Enabled = False
    Exit Sub
End If

    s(1) = d1(1) * c(1) + a1(1) * c(2) + 2 * k * Cg
    s(max) = b1(max) * c(max - 1) + d1(max) * c(max)
    For i = 2 To max - 1
        s(i) = b1(i) * c(i - 1) + d1(i) * c(i) + a1(i) * c(i + 1)
    Next
    
    g(1) = s(1) / d(1)                '求g(i),w(i)追的过程
    w(1) = a(1) / d(1)
    For i = 2 To max - 1
        w(i) = a(i) / (d(i) - b(i) * w(i - 1))
        g(i) = (s(i) - b(i) * g(i - 1)) / (d(i) - b(i) * w(i - 1))
    Next
    
    For i = 1 To max                  '保存前时刻的浓度
        c1(i) = c(i)
    Next
    
                                       '求当前时刻各点浓度值c(i)赶的过程
    g(max) = (s(max) - b(max) * g(max - 1)) / (d(max) - b(max) * w(max - 1))
    c(max) = g(max)
    For i = max - 1 To 1 Step -1
        c(i) = g(i) - w(i) * c(i + 1)
        Line2.Y1 = 8640 - c(i) * 3000
    Next
     
    For i = 1 To max                    '做浓度梯度曲线
        Picture1.Line (i * 40, Picture1.ScaleHeight - 600)-(i * 40, Picture1.ScaleHeight - c1(i) * 3000), Picture1.BackColor
        Picture1.Line (i * 40, Picture1.ScaleHeight - 600)-(i * 40, Picture1.ScaleHeight - c(i) * 3000), RGB(0, 0, 255 * Rnd)
    
    Next
    Tm = Tm + 1
Text3.Text = CStr(Tm * 0.1)

End Sub
                                '设定k值大小
Private Sub VScroll1_Change()
    Text1.Text = VScroll1.Value
    Timer1.Interval = VScroll1.Value
End Sub
                                '设定Cg值大小
Private Sub VScroll2_Change()
    Text2.Text = VScroll2.Value / 10
    Cg = VScroll2.Value / 10
    Line1.Y1 = 8640 - Cg * 3000
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -