A11X1+A12X2+A13X3+A14X4=A15
A11X1+A22X2+A23X3+A24X4=A25
A11X1+A32X2+A33X3+A34X4=A35
A11X1+A42X2+A43X3+A44X4=A45X1\X2\X3\X4是未知解
,A11----A45是常数,已知

解决方案 »

  1.   

    这是一段高斯消元法,给tarray()赋上相应的值就成了.当然加上雅克比和迭代法效果更好
    Dim tArray() As Double  '存a11,a12,a12...a45
    Dim m_tArray() As Double
    Sub calu_gsxy()
     Dim i As Integer
     Dim j As Integer
     Dim k As Integer
     Dim mid_num As Single
     redim tArray(n,n+1)
     redim tarray(n,n+1)
     For i=1 to n
      for j=1 to n+1
       m_tArray(i, j) = tArray(i, j)
      next j
     next i
     For k = 1 To n - 1
      For i = k + 1 To n
        tArray(i, n + 1) = tArray(i, n + 1) - tArray(k, n + 1) * (tArray(i, k) / tArray(k, k))
       For j = k To n
        tArray(i, j) = tArray(i, j) - tArray(k, j) * (m_tArray(i, k) / tArray(k, k))
       Next j
       For j = 1 To n
         m_tArray(i, j) = tArray(i, j)
       Next j
      Next i
     Next k
     For i = n To 1 Step -1
         x(n) = tArray(n, n + 1) / tArray(n, n)
         For j = i + 1 To n
          mid_num = tArray(i, j) * x(j)
         Next j
         x(i) = (tArray(i, n + 1) - mid_num) / tArray(i, i)
         mid_num = 0
     Next i
    End Sub
      

  2.   

    不会吧,上面程序中重要过程都给你写完了.
    得,在写的完整点.大概框架就是下面了.
    Dim tArray() As Double  '存a11,a12,a12...a45
    Dim m_tArray() As Double
    dim x() as double
    private sub command1_click()
     dim n as integer
     n=inputbox("输入矩阵的阶数")
     redim tarray(n,n+1)
     redim x(n)
     这里给tarray(1,1)=..
           tarray(1,2)=..
           tarray(1,n+1)=..
           ..............
           tarray(n,n+1)=...
     具体怎么赋值方便看你自己设置了,如果数多了,这么赋值很累,可以用循环。
     calu_gsxy
    end sub
    Sub calu_gsxy()
     Dim i As Integer
     Dim j As Integer
     Dim k As Integer
     Dim mid_num As Single
     redim m_tarray(n,n+1) 
     For i=1 to n
      for j=1 to n+1
       m_tArray(i, j) = tArray(i, j)
      next j
     next i
     For k = 1 To n - 1
      For i = k + 1 To n
        tArray(i, n + 1) = tArray(i, n + 1) - tArray(k, n + 1) * (tArray(i, k) / tArray(k, k))
       For j = k To n
        tArray(i, j) = tArray(i, j) - tArray(k, j) * (m_tArray(i, k) / tArray(k, k))
       Next j
       For j = 1 To n
         m_tArray(i, j) = tArray(i, j)
       Next j
      Next i
     Next k
     For i = n To 1 Step -1
         x(n) = tArray(n, n + 1) / tArray(n, n)
         For j = i + 1 To n
          mid_num = tArray(i, j) * x(j)
         Next j
         x(i) = (tArray(i, n + 1) - mid_num) / tArray(i, i)
         mid_num = 0
     Next i
    For i = n To 1 Step -1
         x(n) = tArray(n, n + 1) / tArray(n, n)
         For j = i + 1 To n
          mid_num = tArray(i, j) * x(j)
         Next j
         x(i) = (tArray(i, n + 1) - mid_num) / tArray(i, i)
         mid_num = 0
     Next i
      For i = 1 To n
       Print "x" & i & "=" & x(i),'答案
      Next i
    End Sub