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

📄 点群分析f3.frm

📁 <VB数理统计实用算法>书中的算法源程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmContinue 
   Appearance      =   0  'Flat
   BackColor       =   &H80000005&
   Caption         =   "点群分析"
   ClientHeight    =   9600
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   12225
   LinkTopic       =   "Form1"
   ScaleHeight     =   9600
   ScaleWidth      =   12225
   StartUpPosition =   3  '窗口缺省
End
Attribute VB_Name = "frmContinue"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'点群分析
Option Explicit
Dim Id As Integer
Private Sub Form_Load()
    Me.Left = 100: Me.Top = 0: Me.Height = 11000
    Id = -1
    Me.Caption = "单击窗体可以绘图!"
End Sub

'绘制谱线图
Private Sub Form_Click()
    Dim YMS As Single, YMD As Single, KA As Integer, intXS As Integer
'XS为谱系图中分类统计量的刻度;KW为谱系图中垂直连线延续行数
'W为扫描时的工作单元
    Dim XS(102) As Single, KW(102) As Integer, W(102) As String
    Dim A As String, B As String, C As String
    Dim LL As Integer
    If Id = 1 Then
        Unload Me
        End
    End If
    Me.Print " ": Me.Font = "隶书": Me.FontSize = 24
    If Key < 4 Then Me.Print Spc(11); "Q点群分析谱系图";
    If Key = 4 Then Me.Print Spc(11); "R点群分析谱系图";
    If Key = 1 Then Me.Print "(距离系数)"
    If Key = 2 Then Me.Print "(夹角余弦)"
    If Key > 2 Then Me.Print "(相关系数)"
    Me.Font = "": Me.FontSize = 10
    Me.CurrentX = 500: Me.CurrentY = 1100
    If Key < 4 Then Me.Print "样本号" Else Me.Print "变量号"
    YMS = YM1 - YM2                         '分类统计量的变化范围
    YMD = YMS / 100
    For I = 1 To 102
        XS(I) = YM1 - YMD * (I - 1)         '统计量刻度值
        KW(I) = 0
    Next I
    Me.CurrentX = 900: Me.CurrentY = 700
    For I = 1 To 10
        Me.Print "+";
        Me.Print "---------";
    Next I
    Me.Print "+"
    Me.CurrentY = 850
    For I = 1 To 101 Step 10            '写刻度
        Me.CurrentX = 500 + I * 108
        intXS = XS(I) * 1000 + 0.5
        XS(I) = intXS / 1000
        Me.Print XS(I);
    Next I
    KA = 0
    For I = 1 To M3                         'M3为扫描行数
        Me.CurrentX = 100: Me.CurrentY = 1100 + I * 200
        For J = 1 To 102
            W(J) = " "
            If KW(J) > 0 Then W(J) = "|"
            KW(J) = KW(J) - 1
        Next J
        For J = 1 To M2                     'M2为谱系图水平连线数
            If KX1(J) <> I Then GoTo 85
            If Key = 1 Then GoTo 82
            For K = 1 To 101
                If XS(K) <= X1(J) And XS(K) >= X2(J) And W(K) <> "|" Then _
                    W(K) = "-"
                If XS(K + 1) <= X2(J) Then GoTo 84
            Next K
            GoTo 85
82:         For K = 1 To 101
                If XS(K) >= X1(J) And XS(K) <= X2(J) And W(K) <> "|" Then _
                    W(K) = "-"
                If XS(K + 1) >= X2(J) Then GoTo 84
            Next K
84:         If KX2(J) = 0 Then GoTo 85
            KW(K) = KX2(J)
85:     Next J
        If I Mod 2 = 1 Then GoTo 86
        Me.Print Spc(8);
        For LL = 1 To 101
            Me.Print W(LL);             '绘谱线
        Next LL
        GoTo 87
86:     KA = KA + 1
        W(1) = "-"
        If KM(KA) < 10 Then
            Me.Print Spc(5); KM(KA);
        Else
            Me.Print Spc(4); KM(KA);
        End If
        For LL = 1 To 101               '绘谱线
            Me.Print W(LL);
        Next LL
87: Next I
    Id = 1
    Me.Caption = "单击窗体可以结束程序运行!"
End Sub

⌨️ 快捷键说明

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