Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Programming \ Python implementation Bursa transition model     - Ubuntu and Derivative Edition users install LMMS 0.4.15 (Linux)

- Each catalog Detailed Linux (Linux)

- Source Analysis: Java object memory allocation (Programming)

- The text formatting tools awk Linux system (Linux)

- ActiveMQ memory settings and flow control (Linux)

- Using monitoring tool dsniff (Linux)

- CentOS terminal display Chinese (Linux)

- Linux System Getting Started Learning: After starting in Ubuntu or Debian, enter the command line (Linux)

- Linear table with a Java implementation of the iterator (Programming)

- findmnt- Looking mounted file system (Linux)

- GAMIT learning materials finishing (Linux)

- Python3 multi-thread download codes (Programming)

- Seven kinds of DDoS attack methods and techniques Defensive (Linux)

- The Hill sorting algorithm (Programming)

- Ubuntu under VirtualBox virtual machine serial port settings (Linux)

- Oracle 11g logical standby achieve BI needs (Database)

- Eclipse, Tomcat configuration JNDI connection Oracle data source example (Server)

- Android 4.2 compilation notes (Programming)

- Linux disk management practices (Linux)

- MySQL time field based partitioning scheme summary (Database)

 
         
  Python implementation Bursa transition model
     
  Add Date : 2018-11-21      
         
         
         
  The core issue

1. Because it is the same accuracy and mutually independent observations, final weight matrix should be used for the matrix P (3m * 3m), m is the number of known points.

p = np.eye (n) # Unit weight matrix 3n * 3n

2. The program implements all known points of XYZ coordinate read into the corresponding columns of the matrix, the coefficient matrix B also need this operation (V = BX-L). When numpy process can be expressed as:

for i in range (vector_count):
        matrix_source.append (vector3d_list_source [i] .X)
        matrix_source.append (vector3d_list_source [i] .Y)
        matrix_source.append (vector3d_list_source [i] .Z)
        matrix_dest.append (vector3d_list_dest [i] .X)
        matrix_dest.append (vector3d_list_dest [i] .Y)
        matrix_dest.append (vector3d_list_dest [i] .Z)
        matrix_B.append ([1, 0, 0, 0, -vector3d_list_source [i] .Z, vector3d_list_source [i] .Y, vector3d_list_source [i] .X])
        matrix_B.append ([0, 1, 0, vector3d_list_source [i] .Z, 0, -vector3d_list_source [i] .X, vector3d_list_source [i] .Y])
        matrix_B.append ([0, 0, 1, -vector3d_list_source [i] .Y, vector3d_list_source [i] .X, 0, vector3d_list_source [i] .Z])
    matrix_source = np.array (matrix_source) .reshape (1, -1) .T
    matrix_dest = np.array (matrix_dest) .reshape (1, -1) .T
    matrix_B = np.array (matrix_B)
    L = matrix_dest - matrix_source

3. The value of the parameter matrix (column matrix)

X = np.dot (np.linalg.inv (np.dot (matrix_B.T, matrix_B)), np.dot (matrix_B.T, L))

4. The error equation

V = np.dot (matrix_B, X) - L # error equation

5. Accuracy Assessment

standard_deviation = math.sqrt (np.dot (np.dot (V.T, p), V) / r) # conversion error
     
         
         
         
  More:      
 
- 4 lvcreate example commonly used commands (Linux)
- Asynchronous communication mechanism between the Android source code analysis thread (Programming)
- Installation salt-minion on RHEL5 (Linux)
- Oracle 11g How dataguard master repository to Oracle single instance data recovery (Database)
- Elixir: the future of programming languages (Programming)
- GlusterFS distributed storage deployment (Server)
- Increase Linux system security --chattr (Linux)
- JavaScript basic types and type conversion (Programming)
- How to use SHA256 checksum files download (Linux)
- Laravel configuration PhpStorm + Xdebug + Chrome settings Debug Environment (Server)
- Perl said method B if A judge (Programming)
- It is time to upgrade your gulp 4.0 (Programming)
- OpenSSL for secure transmission and use of skills of files between Windows and Linux (Linux)
- Source Analysis: Java object memory allocation (Programming)
- Oracle 11G using DG Broker create DataGuard (Database)
- 20 Unix / Linux command skills (Linux)
- Open log in Hibernate (Programming)
- RabbitMQ tutorial examples: the Hello RabbitMQ World Java realization (Linux)
- Changes in C # asynchronous programming model (Programming)
- Installation through the network Debian 7 (Wheezy) (Linux)
     
           
     
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.