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

📄 doxygen_matrix.dox

📁 摄影测量专业。实现单像后方交会以及立体像对的前方交会。以文件形式读取控制点和像点坐标。
💻 DOX
📖 第 1 页 / 共 2 页
字号:
result = X.Concatonate( Y^3 );
result = X.Plot( 0, 1, 2, "testplot3.bmp", "Y=X^2", "X (m)", "Y (m)", "Y=X^2", "(m^2)", "Y=X^3", "(m^3)" ); 
\endcode

<img src = "files/testplot3.bmp">

Plotting multiple series.
\code 
X = "[ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; ]"; // set the matrix from a string, column vector.
Matrix Y1 = X^(0.5);
Matrix Y2 = X;
Matrix Y3 = X^2; 
Matrix Y4 = X^3; 
result = Plot( "testplot4.bmp", "Y as function of X", "X (m)", "Y (m)", X, Y1, "Y=sqrt(X)", "sqrt(m)", X, Y2, "Y=(X)", "(m)", X, Y3, "Y=X^2", "(m^2)", X, Y4, "Y=X^3", "(m^3)" );
\endcode

<img src = "files/testplot4.bmp">

\htmlonly
<br><br><hr>
\endhtmlonly

\section license_sec LICENSE INFORMATION

Copyright (c) 2008, Glenn D. MacGougan, Zenautics Technologies Inc. \n

This license is categorized as a BSD-style license (refer http://en.wikipedia.org/wiki/Bsd_license). \n

Redistribution pertains to the following files and their contents. \n
- Matrix.h\n
- Matrix.cpp\n
- cmatrix.c\n
- cmatrix.h\n
- cplot.h\n
- cplot.c\n
- example_main.cpp\n

Redistribution and use in source and binary forms, with or without
modification, of the specified files is permitted provided the following 
conditions are met: \n

- Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer. \n
- Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution. \n
- The name(s) of the contributor(s) may not be used to endorse or promote 
  products derived from this software without specific prior written 
  permission. \n

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS 
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
SUCH DAMAGE.

\htmlonly
<br><br><hr>
\endhtmlonly

\section notes_sec Notes

This code was developed using rigourous unit testing for every function 
and operation. Despite any rigorous development process, bugs are
inevitable. Please report bugs and suggested fixes to glenn at zenautics.com.\n

\htmlonly
<br><br><hr>
\endhtmlonly


\section Version Release Notes

Version 0.01 Beta \n
- This is the first release via sourceforge. The project was privately hosted prior to this version. \n

Version 0.02 Beta \n
- Some inner loop optimizations within for loops. \n
- A few new functions:  \n
Matrix Negate(); \n
Matrix IdentityMinusMe(); \n 
Matrix MinusIdentity(); \n
Matrix AddIdentity(); \n

Version 0.03 Beta \n
- Matrix Inversion tweaks for more efficiency.
- Complex Matrix Inversion - revised so that robust inversion is always used for complex matrix inversion.
- New Functions \n
bool Matrix::Inplace_rand - generate pseudorandom numbers with uniform distribution [0,1] \n
bool Matrix::Inplace_randn - generate pseudorandom numbers with standard normal distibution N(0,1) \n
bool Matrix::Hilbert - sets the matrix as the NxN hilbert matrix. H_ij = 1.0 / (i+j-1.0) for i=1:N, j=1:N. \n

Version 0.04 Beta \n
- 'explicit' keyword added to vector sytle constructor (needed for some compilers).
- New Functions \n
bool Matrix::Swap - Swap the contents of two matrices without copying \n

Version 0.05 Beta \n
- The FFT function was only computing the FFT of the first column. Fixed to compute
the FFT of each column.
- Efficient functions for multiplication with a matrix transpose added.
- New Functions \n
FFT2 \n 
IFFT2 \n
bool Inplace_TranposePreMultiply( const Matrix &B ); // A = transpose(B)*A \n
bool Inplace_PostMultiplyTranspose( const Matrix &B ); // A = A*transpose(B) \n
bool TransposeMultiply( const Matrix &B, const Matrix &C ); // A = transpose(B)*C \n
bool MultiplyTranspose( const Matrix &B, const Matrix &C ); // A = B*transpose(B) \n

Version 0.06 Beta \n
- Bug Fix: Determinant sign error (in a few select cases the determinant had the wrong sign). \n
- Bug Fix: SortByColumn and related functions (only the first and second column were sorted correctly). 
- Enhanced the Concatonate() function to allow concatonation of an empty matrix.
- Efficient functions for multiplication with a matrix transpose added.
- New Functions \n
ExtractSubMatrix \n 
Inplace_erf \n
Inplace_erfc \n
Inplace_erfinv \n
Inplace_erfcinv \n
GetLDLt \n
GetUDUt \n
Find_EqualTo \n
Find_NotEqualTo \n
Find_LessThan \n
Find_MoreThan \n

\htmlonly
<br><br><hr><br><br>
\endhtmlonly

\section fft_sec FFT

The Professional Version utilizes Intel's FFT (fastest FFT available). For performance comparison of
the various FFT methods refer to http://www.fftw.org/benchfft/.

The Basic Version utilizes the KISS FFT software libary (http://sourceforge.net/projects/kissfft/, also BSD license).

\subsection kiss_fft_sec Kiss FFT License Information
Copyright (c) 2003-2004, Mark Borgerding

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

\htmlonly
<br><br><hr><br><br>
\endhtmlonly

\section msvc_sec Getting Started using Microsoft Visual C++ 2008 (Express Edition) (MSVC 9)

\htmlonly

Start Microsoft Visual C++ 2008. <br/><br/>

<img src = "files/msvc2008.png"><br/><br/>

Select File->New->Project.<br/><br/>

<img src = "files/msvc2008_step1.png"><br/><br/>

Select Win32->Win32 Console Application->Choose your project name and path.<br/><br/>

<img src = "files/msvc2008_step2.png"><br/><br/>

Select Next.<br/><br/>

<img src = "files/msvc2008_step3.png"><br/><br/>

Select Empty Project. Precompiled headers are not needed. Select Finish. <br/><br/>

<img src = "files/msvc2008_step4.png"><br/><br/>

Your project will look something like this.<br/><br/>

<img src = "files/msvc2008_step5.png"><br/><br/>

Select Source Files->Add->Existing Item...<br/><br/>

<img src = "files/msvc2008_step6.png"><br/><br/>

Select the files needed for the project. <br/><br/>

<img src = "files/msvc2008_step7.png"><br/><br/>

Try building the solution.<br/><br/>

<img src = "files/msvc2008_step8.png"><br/><br/>

You should see output like this.<br/><br/>

<img src = "files/msvc2008_step9.png"><br/><br/>

Try running the application in debug mode (Press F5).<br/><br/>

<img src = "files/msvc2008_step10.png"><br/><br/>

<img src = "files/msvc2008_step11.png"><br/><br/>

\endhtmlonly

*/

⌨️ 快捷键说明

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