matrix.h

来自「很好的kalman程序。.zip文件包含了所有的用到kalman滤波的库和头文件」· C头文件 代码 · 共 51 行

H
51
字号
#ifndef MEMS_MATRIX_H
#define MEMS_MATRIX_H

#include "Constants.h"

namespace mems
{

class BaseMatrix
{
public:
    virtual unsigned short size1() const = 0;    // nrows
    virtual unsigned short size2() const = 0;    // ncols
    virtual void clear() = 0;   // zero-out values, don't delete anything
    virtual void resize(unsigned short rows, unsigned short cols) = 0;
    virtual void resizeAndZero(unsigned short rows, unsigned short cols) = 0;
    virtual Real & operator()(unsigned short row, unsigned short col) = 0;
    virtual const Real & operator()(unsigned short row, unsigned short col) const = 0;
};


////
class Matrix : public BaseMatrix
{
public:
    typedef unsigned short size_type;

    Matrix();
    Matrix(unsigned short rows, unsigned short cols);
    unsigned short size1() const;
    unsigned short size2() const;
    void clear();
    void resize(unsigned short rows, unsigned short cols);
    void resizeAndZero(unsigned short rows, unsigned short cols);

    Real & operator()(unsigned short row, unsigned short col);
    const Real & operator()(unsigned short row, unsigned short col) const;

private:
    void zero();

    Real            m_matrix[MATRIX_MAXELEMS][MATRIX_MAXELEMS];
    unsigned short  m_rows;
    unsigned short  m_cols;
};


} // mems

#endif // MEMS_MATRIX_H

⌨️ 快捷键说明

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