NonLineearSystemEquations

2018年12月02日

首頁

 

Numerical solutions of nonlinear systems of equations.

 

A system of nonlinear equations has the form

          f1(z1,x2,x3,…..xn)=0

f2(z1,x2,x3,…..xn)=0

.

.

.

fn(z1,x2,x3,…..xn)=0

 

The system nonlinear equations can be solved by Newton’s method or Steepest

Decent method( please refer “Numerical analysis” by Richard L. Burdoen & J.Douglas Faires). Newton’s method or Steepest Decent methods all need an initial approximate solution. Because the Newton’s method can converge very rapidly when the approximation is near the true solution, while Steepest Decent method can get an approximation solution for any poor initial approximation. In this article we use Steepest Decent to get the first approximation and then use the solution as the initial solution of Nwton’s method to solve the non-linear equation. The snippet code of Newton’s and Steepest Decent method are modification from the code listed in “Numerical Analysis”.

 

 

Public Sub SteepEstMethod(canvas As PictureBox, AAA As String, nEq As Integer, stEqs() As String, VvarsSt() As String, VvarsI() As Double, NTry As Integer, Tol As Double, XAns() As Double)

 

'C***********************************************************************

'C                                                                      *

'C                  STEEPEST DESCENT ALGORITHM 10.3                     *

'C                                                                      *

'C***********************************************************************

'C

'C

'C

'C     TO APPROXIMATE A SOLUTION P TO THE MINIMIZATION PROBLEM

'C                 G(P) = MIN ( G(X) : X IN R(n) )

'C     GIVEN AN INITIAL APPROXIMATION X:

'C

'C     INPUT NUMBER N OF VARIABLES; INITIAL APPROXIMATION X;

'C           TOLERANCE TOL; MAXIMUM NUMBER OF ITERATIONS N.

'C

'C     OUTPUT APPROXIMATE SOLUTION X OR A MESSAGE OF FAILURE.

 

'C

      Dim FLAG As Boolean

      Dim Xx() As Double, Z() As Double, C() As Double, G() As Double, A() As Double

      ReDim Xx(1 To nEq), Z(1 To nEq), C(1 To nEq), G(1 To nEq), A(1 To nEq)

      'Dim FLAG1 As Boolean

      Dim OK As Boolean, k As Integer, i As Integer, j As Integer

      Dim Z0 As Double, X0 As Double, G0 As Double, G1 As Double, A0 As Double

      Dim Zero As Double

      Dim H1 As Double, H2 As Double, H3 As Double

     

'C     THE FUNCTION F USED HERE CORRESPONDS TO G USED IN THE ALGORITHM

      'pi = 4 * Atan(1#)

      Zero = 1E-20

      'OPEN(UNIT=5,FILE='CON',ACCESS='SEQUENTIAL')

      'OPEN(UNIT=6,FILE='CON',ACCESS='SEQUENTIAL')

      'WRITE(6,*) 'This is the Steepest Descent Method'

      'WRITE(6,*) 'NOTE THAT THE FUNCTIONS ARE VERY COMPLICATED.

      'WRITE(6,*) 'Have the functions F1,...,Fn and F (G) been'

      'WRITE(6,*) 'defined at the beginning of the program and.'

      'WRITE(6,*) 'has the gradient been implemented at line 118.'

      'WRITE(6,*) 'Enter Y or N '

      'WRITE(6,*) ' '

      'READ(5,*)  AAA

      If LCase(AAA) = "y" Then

         OK = False

101      If OK Then GoTo 11

            'WRITE(6,*) 'Input the number n of equations.'

            'WRITE(6,*) ' '

            'READ(5,*) N

            If nEq >= 2 Then

               OK = True

            Else

               MsgBox ("Neq must be greater than 1.")

            End If

         GoTo 101

11       OK = False

14       If (OK) Then GoTo 15

            'WRITE(6,*) 'Input tolerance '

            'WRITE(6,*) ' '

            'READ(5,*) TOL

            If Tol <= 0# Then

               MsgBox ("Tolerance must be positive ")

            Else

               OK = True

            End If

         GoTo 14

15       OK = False

12       If OK Then GoTo 13

            'WRITE(6,*) 'Input the maximum number of iterations.'

            'WRITE(6,*) ' '

            'READ(5,*) M

            If (NTry <= 0) Then

              MsgBox ("Niteration Must be positive integer ")

            Else

              OK = True

            End If

         GoTo 12

13

'13       For I = 1 To NTry

            'WRITE(6,*) 'Input initial approximation X(',I,')'

            'WRITE(6,*) ' '

            'READ(5,*) X(I)

'16       CONTINUE

      Else

         MsgBox ("The program will end so that the functions can be created ")

         OK = False

      End If

      If Not (OK) Then GoTo 400

      'WRITE(6,*) 'Select output destination: '

      'WRITE(6,*) '1. Screen '

      'WRITE(6,*) '2. Text file '

     ' WRITE(6,*) 'Enter 1 or 2 '

      'WRITE(6,*) ' '

      'READ(5,*) FLAG1

     

      canvas.Print "STEEPEST DESCENT METHOD FOR NONLINEAR SYSTEMS"

      canvas.Print "Iter. No.   Vector    G(vector)"

'C     STEP 1

      k = 0

      For i = 1 To nEq 'DO 16 I=1,NEq

            'WRITE(6,*) 'Input initial approximation X(',I,')'

            'WRITE(6,*) ' '

            'READ(5,*) X(I)

            Xx(i) = VvarsI(i)

           ' canvas.Print "i=" & i & "x(" & i & ")=" & Xx(i)

16       Next i ' CONTINUE

     'canvas.Print (" K= " & k & ";X(1)= " & X(1) & ";X(2)= " & X(2) & ";X(3)= " & X(3))

     

      k = 1

'C     STEP 2

100   If (k > NTry) Then GoTo 200

       'MsgBox ("kstep = " & K)

'C        STEP 3

      '////////////////////////////////

      'Dim Fxyz1 As Double, Fxyz2 As Double, Fxyz3 As Double, fxyz As Double

      'Fxyz1 = 3 * Xx(1) - Cos(Xx(2) * Xx(3)) - 0.5 '在點(x1,x2,x3)處方程式1

      'Fxyz2 = Xx(1) * Xx(1) - 81 * (Xx(2) + 0.1) ^ 2 + Sin(Xx(3)) + 1.06

      'Fxyz3 = Exp(-Xx(1) * Xx(2)) + 20 * Xx(3) + (10 * PI - 3) / 3

      'F(X1,X2,X3)=F1(X1,X2,X3)**2+F2(X1,X2,X3)**2+F3(X1,X2,X3)**2 '在點(x1,x2,x3)處方程式1,方程式2,方程式3平方和

      'fxyz = Fxyz1 ^ 2 + Fxyz2 ^ 2 + Fxyz3 ^ 2

      'canvas.Print "fxyz1~3  A=" & Fxyz1 & ";" & Fxyz2 & ";" & Fxyz3 & ";f^2 A=" & fxyz

      '//////////////////////////////

         'C(1) = F1(X(1), X(2), X(3))    '在點(x1,x2,x3)處方程式1

         'C(2) = F2(X(1), X(2), X(3))    '在點(x1,x2,x3)處方程式2

         'C(3) = F3(X(1), X(2), X(3))    '在點(x1,x2,x3)處方程式3

         'F(X1,X2,X3)=F1(X1,X2,X3)**2+F2(X1,X2,X3)**2+F3(X1,X2,X3)**2 '在點(x1,x2,x3)處方程式1,方程式2,方程式3平方和

         Dim sumF As Double

         sumF = 0

         For i = 1 To nEq

         C(i) = FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, Xx)

         sumF = sumF + C(i) * C(i)

         Next i

         'canvas.Print "fxyz1~3 B =" & C(1) & ";" & C(2) & ";" & C(3) & ";f^2 B=" & sumF

'C        THE VECTOR C HOLDS F(X) FROM THE EXAMPLE AND G1 HOLDS G(X)

        ' G1 = F(X(1), X(2), X(3))     

         G(1) = sumF 'G(1) = G1

         'Dim Q As Double, P As Double, Z1 As Double, Z2 As Double, Z3 As Double

         'Q = Exp(-Xx(1) * Xx(2))

         'P = Sin(Xx(2) * Xx(3))

         'Z1 = 6 * c(1) + 4 * Xx(1) * c(2) - 2 * Xx(2) * Q * c(3)

         'Z2 = 2 * Xx(3) * P * c(1) - 324 * (Xx(2) + 0.1) * c(2) - 2 * Xx(1) * Q * c(3)

         'Z3 = 2 * Xx(2) * P * c(1) + 2 * Cos(Xx(3)) * c(2) + 40 * c(3)

         ' canvas.Print "Z1,Z2,Z3 = " & Z1 & ";" & Z2 & ";" & Z3

         Dim vTpt As Double, zoSum2 As Double

         zoSum2 = 0

         For i = 1 To nEq

            vTpt = 0

            For j = 1 To nEq

             vTpt = vTpt + 2 * C(j) * PartialDif(glVbScriptA(j - 1), stEqs(j), VvarsSt, Xx, i)

            Next j

             Z(i) = vTpt

             zoSum2 = zoSum2 + Z(i) * Z(i)

         Next i

        

        ' canvas.Print "Z(1),Z(2),Z(3)  =" & Z(1) & ";" & Z(2) & ";" & Z(3)

         vTpt = 0

         'Dim Z0A As Double

         'Z0A = Sqr(Z1 ^ 2 + Z2 ^ 2 + Z3 ^ 2)

         Z0 = Sqr(zoSum2)

         '?canvas.Print "Z0A,Z0=" & Z0A & ";" & Z0

'C        STEP 4

         If (Abs(Z0) < 1E-20) Then

          MsgBox ("ZERO GRADIENT: MAY HAVE MIN")

            GoTo 400

         End If

'C        STEP 5

         For j = 1 To nEq 'DO 10 J=1,N

10       Z(j) = Z(j) / Z0

         Next j

        

'C        A IS USED FOR ALPHA AND G0 FOR G(3)

         A(1) = 0

         X0 = 1

         '????????????????????????????????????////

         'Dim G0a As Double

         'G0a = Fxyz_T(Xx(1) - X0 * Z(1), Xx(2) - X0 * Z(2), Xx(3) - X0 * Z(3))   '在點 x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3)處方程式1,方程式2,方程式3平方和

         Dim xXtpt() As Double

         ReDim xXtpt(1 To nEq)

         For i = 1 To nEq

            xXtpt(i) = Xx(i) - X0 * Z(i)

         Next i

        

          sumF = 0

          For i = 1 To nEq

          sumF = sumF + (FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, xXtpt)) ^ 2

          Next i

          G0 = sumF

          '?canvas.Print "g0a,g0=" & G0a & ";" & G0

          '????????????????????????????????????????

'C        STEP 6

         FLAG = True

         If (Abs(G0) < Abs(G1)) Then FLAG = False

500      If Not (FLAG) Then GoTo 600

'C           STEPS 7 AND 8

            X0 = X0 / 2

           ' MsgBox ("x0=" & X0 & "zero= " & Zero)

            If (X0 < Zero) Then MsgBox ("NO LIKELY IMPROVEMENT: MAY HAVE MIN")

              

             If (X0 < Zero) Then GoTo 400           

            'G0 = F(x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3))

            '????????????????????????????????????////

            'Dim G0b As Double

            'G0b = Fxyz_T(Xx(1) - X0 * Z(1), Xx(2) - X0 * Z(2), Xx(3) - X0 * Z(3))           

         For i = 1 To nEq

            xXtpt(i) = Xx(i) - X0 * Z(i)

         Next i

         'G0 = F(x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3))   '在點 x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3)處方程式1,方程式2,方程式3平方和

          sumF = 0

          For i = 1 To nEq

          sumF = sumF + (FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, xXtpt)) ^ 2

          Next i

          G0 = sumF

         ' canvas.Print "g0b,g0=" & G0b & ";" & G0

          '????????????????????????????????????????

           

            If (Abs(G0) < Abs(G1)) Then FLAG = False

            If (Abs(G0) < Abs(G1)) Then GoTo 500

       

600      A(3) = X0

         G(3) = G0

'C        STEP 9

         X0 = X0 / 2

         'G(2) = F(x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3))

         For i = 1 To nEq

            xXtpt(i) = Xx(i) - X0 * Z(i)

         Next i

        

          sumF = 0

          For i = 1 To nEq

          sumF = sumF + (FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, xXtpt)) ^ 2

          Next i

          G(2) = sumF

          A(2) = X0

'C        STEP 10

 

         H1 = (G(2) - G(1)) / (A(2) - A(1))

         H2 = (G(3) - G(2)) / (A(3) - A(2))

         H3 = (H2 - H1) / (A(3) - A(1))

'C        STEP 11

         X0 = 0.5 * (A(1) + A(2) - H1 / H3)

         'G0 = F(x(1) - X0 * Z(1), x(2) - X0 * Z(2), x(3) - X0 * Z(3))

        

          '????????????????????????????????????////

     

         For i = 1 To nEq

            xXtpt(i) = Xx(i) - X0 * Z(i)

         Next i

        

          sumF = 0

          For i = 1 To nEq

          sumF = sumF + (FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, xXtpt)) ^ 2

          Next i

          G0 = sumF

          '????????????????????????????????????????

'C        STEP 12

         A0 = X0

         For j = 1 To nEq 'DO 20 J=1,N

           If (Abs(G(j)) < Abs(G0)) Then

               A0 = A(j)

               G0 = G(j)

           End If

20       'CONTINUE

         Next j

         'MsgBox ("pass 20;k= " & K)

         If Abs(A0) < Zero Then

            MsgBox ("NO CHANGE LIKELY: PROBABLY ROUNDING DIFFICULTIES")

           

            GoTo 400

         End If

'C        STEP 13

         For j = 1 To nEq 'DO 30 J=1,N

30       Xx(j) = Xx(j) - A0 * Z(j) '

         ' canvas.Print " K= " & K & ";X(j)= " & Xx(j)

         Next j

        

         'canvas.Print " K= " & K & ";X(1)= " & Xx(1) & ";X(2)= " & Xx(2) & ";X(3)= " & Xx(3)

        

'C        STEP 14

         If (Abs(G0) < Tol) Or (Abs(G0 - G1) < Tol) Then

            MsgBox ("PROCEDURE COMPLETED SUCCESSFULLY")

           

            GoTo 400

         End If

'C        STEP 15

         k = k + 1

         'MsgBox ("k=" & K)

      GoTo 100

'C     STEP 16

Exit Sub

200   MsgBox ("MAXIMUM ITERATIONS EXCEEDED")

      For i = 1 To nEq

       ReDim Preserve XAns(1 To i)

       XAns(i) = 0 'Xx(i)

       Next i

400

       canvas.Print "sta 400 K= " & k & ";X(1)= " & Xx(1) & ";X(2)= " & Xx(2) & ";X(3)= " & Xx(3)

       For i = 1 To nEq

       ReDim Preserve XAns(1 To i)

       XAns(i) = Xx(i)

       Next i

      End Sub

 

Public Sub NewtonMethod(canvas As PictureBox, AAA As String, nEq As Integer, stEqs() As String, VvarsSt() As String, VvarsI() As Double, NTry As Integer, Tol As Double, XAns() As Double)

'C***********************************************************************

'C                                                                      *

'C NEWTON            'S METHOD FOR SYSTEMS ALGORITHM 10.1               *

'C                                                                      *

'C***********************************************************************

'C

'C

'C

'C     TO APPROXIMATE THE SOLUTION OF THE NONLINEAR SYSTEM F(X)=0 GIVEN

'C     AN INITIAL APPROXIMATION X:

'C

'C     INPUT:   NUMBER n OF EQUATIONS AND UNKNOWNS; INITIAL APPROXIMATION

'C              X=(X(1),...,X(n)); TOLERANCE TOL; MAXIMUM NUMBER OF

'C              ITERATIONS N.

'C

'C     OUTPUT:  APPROXIMATE SOLUTION X=(X(1),...,X(n)) OR A MESSAGE

'C              THAT THE NUMBER OF ITERATIONS WAS EXCEEDED.

'C

'C INITIALIZATION

      Dim AA() As Double, yY() As Double, Xx() As Double

      ReDim AA(1 To nEq, 1 To nEq + 1), yY(1 To nEq), Xx(1 To nEq)

      Dim i As Integer, k As Integer, j As Integer

      Dim R

'C     USE AA FOR J;  NN FOR MAXIMUM NUMBER OF ITERATIONS N

   

      Dim OK As Boolean

      'OPEN(UNIT=5,FILE='CON',ACCESS='SEQUENTIAL')

      'OPEN(UNIT=6,FILE='CON',ACCESS='SEQUENTIAL')

      'WRITE(6,*) 'This is the Newton Method for Nonlinear Systems.'

      'WRITE(6,*) 'Has the function F been defined and has the'

      'WRITE(6,*) 'Jacobian of partial derivatives been defined'

      'WRITE(6,*) 'at lines 105 and 115 respectively.'

      ''WRITE(6,*) 'Enter Y or N '

      'WRITE(6,*) ' '

      'READ(5,*)  AAA

      If (LCase(AAA) = "y") Then

         OK = False

101      If (OK) Then GoTo 11

            'WRITE(6,*) 'Input the number n of equations.'

            'WRITE(6,*) ' '

            'EAD(5,*) NEq

            If (nEq >= 2) Then

               OK = True

            Else

               MsgBox ("NEq must be greater than 1.")

            End If

         GoTo 101

11       OK = False

14       If OK Then GoTo 15

            'WRITE(6,*) 'Input tolerance '

            'WRITE(6,*) ' '

            'READ(5,*) TOL

            If (Tol <= 0#) Then

               MsgBox ("Tolerance must be positive ")

            Else

               OK = True

            End If

         GoTo 14

15       OK = False

12       If OK Then GoTo 13

           ' WRITE(6,*) 'Input the maximum number of iterations.'

            'WRITE(6,*) ' '

            'READ(5,*) Ntry

            If (NTry <= 0) Then

              MsgBox ("NTry Must be positive integer ")

            Else

              OK = True

            End If

         GoTo 12

13       For i = 1 To nEq 'DO 16 I=1,NEq

            'WRITE(6,*) 'Input initial approximation X(',I,')'

            'WRITE(6,*) ' '

            'READ(5,*) X(I)

            Xx(i) = VvarsI(i)

            canvas.Print "i=" & i & "x(" & i & ")=" & Xx(i)

16       Next i ' CONTINUE

      Else

        MsgBox ("program will end so that the functions F(X) and J(X) can be created ")

         OK = False

      End If

     

      If Not OK Then GoTo 400

    

      canvas.Print "NEWTON METHOD FOR NONLINEAR SYSTEMS"

      'Pi = 4 * ATAN(1#)

'C     STEP 1

      k = 1

'C     STEP 2

100   If (k > NTry) Then GoTo 200

'C STEP3

'C          COMPUTE J(X)

 

           'AA(1, 1) = 3#

           'AA(1, 2) = x(3) * Sin(x(2) * x(3))

           'AA(1, 3) = x(2) * Sin(x(2) * x(3))

          

           'AA(2, 1) = 2 * x(1)

           'AA(2, 2) = -162 * (x(2) + 0.1)

           'AA(2, 3) = Cos(x(3))

          

           'AA(3, 1) = -x(2) * Exp(-x(1) * x(2))

           'AA(3, 2) = -x(1) * Exp(-x(1) * x(2))

           'AA(3, 3) = 20

          

          

           For i = 1 To nEq

               ' MsgBox ("steq= " & stEqs(i) & " ;xvst= " & VvarsSt(i) & " ; xv= " & xX(i))

                For j = 1 To nEq

                AA(i, j) = PartialDif(glVbScriptA(i - 1), stEqs(i), VvarsSt, Xx, j)

                'canvas.Print "AA(" & I & "," & J & ")= " & AA(I, J)

                Next j

           Next i

          

'C COMPUTE - F(X)

           'AA(1, 4) = -(3 * x(1) - Cos(x(2) * x(3)) - 0.5)

           'AA(2, 4) = -(x(1) ^ 2 - 81 * (x(2) + 0.1) ^ 2 + Sin(x(3)) + 1.06)

           'AA(3, 4) = -(Exp(-x(1) * x(2)) + 20 * x(3) + (10 * PI - 3) / 3)

           For i = 1 To nEq

           AA(i, nEq + 1) = -FunctionValues(glVbScriptA(i - 1), stEqs(i), VvarsSt, Xx)

           'canvas.Print "AA(" & I & "," & (nEq + 1) & ")= " & AA(I, nEq + 1)

           Next i

          

'C          STEP 4

'C          SOLVES THE N X N LINEAR SYSTEM J(X) Y = -F(X)

           Call LIN(nEq, nEq + 1, AA, yY)

'C          STEPS 5 AND 6

'C          R = INFINITY NORM OF Y

 

           R = 0

           For i = 1 To nEq 'DO 10 I=1,N

                If (Abs(yY(i)) > R) Then R = Abs(yY(i))

                ' canvas.Print "k=" & K & "; x(" & I & ")=" & xX(I)

10              Xx(i) = Xx(i) + yY(i)

                'canvas.Print "k=" & K & "; x(" & I & ")=" & xX(I)

           Next i

           canvas.Print "IterNo=" & k & "Error=" & R

           'Form1.Caption = "IterNo=" & K & " ;Error=" & R

           For i = 1 To nEq

           canvas.Print "x(" & i & ")= " & Xx(i)

           ReDim Preserve XAns(1 To i)

           XAns(i) = Xx(i)

           Next i

'C          STEP 6

           If (R < Tol) Then

'C PROCESS Is COMPLETE

                '?MsgBox ("SUCCESS WITHIN TOLERANCE 1.0E-05=" & R)

                GoTo 400

           End If

'C          STEP 7

           k = k + 1

      GoTo 100

      Exit Sub

'C     STEP 8

'C DIVERGENCE

200    MsgBox ("DIVERGENCE - STOPPED AFTER ITERNN" & NTry)

400

      End Sub

           Sub LIN(n As Integer, M As Integer, A() As Double, x() As Double)

 

        

'C          LIN SOLVES THE LINEAR SYSTEM: J(X) Y = -F(X) USING  PARTIAL

'C PIVOTING

           ReDim Preserve A(1 To n, 1 To M), x(1 To n)

           Dim i As Integer

           Dim Zero As Double, L As Integer, k As Integer, IR As Integer, IA As Integer, j As Integer, JA As Integer

           Dim y  As Double, C As Double

           Zero = 1E-20

           k = n - 1

           For i = 1 To k 'DO 10 I=1,K

                y = Abs(A(i, i))

                IR = i

                IA = i + 1

                For j = IA To n ' DO 20 J=IA,N

                     If (Abs(A(j, i)) > y) Then

                          IR = j

                          y = Abs(A(j, i))

                     End If

20             Next j ' CONTINUE

 

                If (y <= Zero) Then

                     MsgBox ("LINEAR SYSTEM HAS NO SOLUTION") 'WRITE(6,1)

                     Exit Sub

                End If

               

                If (IR <> i) Then

                     For j = i To M 'DO 30 J=I,M

                          C = A(i, j)

                          A(i, j) = A(IR, j)

30                   A(IR, j) = C

                     Next j

                End If

               

                For j = IA To n ' DO 40 J=IA,N

                     C = A(j, i) / A(i, i)

                     If (Abs(C) <= Zero) Then C = 0

                     For L = i To M 'DO 40 L=I,M

40                   A(j, L) = A(j, L) - C * A(i, L)

                     Next L

                Next j

               

10         Next i 'CONTINUE

 

           If (Abs(A(n, n)) < 1E-20) Then

                 MsgBox ("LINEAR SYSTEM HAS NO SOLUTION") 'WRITE(6,1)WRITE(6,1)

                Exit Sub

           End If

      x(n) = A(n, M) / A(n, n)

     

      For i = 1 To k 'DO 50 I=1,K

           j = n - i

           JA = j + 1

           C = A(j, M)

           For L = JA To n 'DO 60 L=JA,N

60        C = C - A(j, L) * x(L)

         Next L

50    x(j) = C / A(j, j)

      Next i

    

'1     FORMAT(1X,'LINEAR SYSTEM HAS NO SOLUTION')

     

 

  End Sub

 

 VB_VB NET: chday169

 

 

Name(您的大名)
E_MAIL(您的電子信箱)
Comment or Suggestion(您想反應的狀況,建議,或諮詢事項)
首頁


 

 

 

 

 

首頁 | Thiessen Polygon | Collection object in vb 6 | Duplicate | Offset a curve | Ellipse | ImplicitFunction | get polygon | NonLineearSystemEquations | Get Polygon from FloodFill | UDT Pattern Brush in vb | Using VB NET predefined Pattern brush and known colors | VB NET extFloodfill

上次修改此網站的日期: 2018年12月02日