Matlab进行矩阵填充时可以填充空矩阵,相当于空矩阵不存在,例如一下代码:

P_RES = [ P_xv          P_xvy                       P_xv*dy_dxv';
P_yxv P_y P_yxv*dy_dxv';
dy_dxv*P_xv dy_dxv*P_xvy dy_dxv*P_xv*dy_dxv'+...
dy_dhd*Padd*dy_dhd'];

结果是可行的。

而使用C++ Eigen时,使用的填充代码是这样的:

    Eigen::MatrixXf  P13,P23,P33,P31,P32;
    P13 =   P_xv*dy_dxv.transpose();//13*6的矩阵
    P23 =   P_yxv*dy_dxv.transpose();//0*6的矩阵
    P33 =   dy_dxv*P_xv*dy_dxv.transpose() + dy_dhd*Padd*dy_dhd.transpose();//6*6的矩阵
    P31 =   dy_dxv*P_xv ;//6*13的矩阵
    P32 =   dy_dxv*P_xvy ;//6*0的矩阵
    P_RES<<
        P_xv  ,    P_xvy  ,   P13 ,
        P_yxv ,     P_y   ,   P23 ,
        P31  ,      P32 ,     P33 ;

矩阵的填充形式是这样的:

    P_RES<<
P_xv(13*13) , P_xvy(13*0) , 13*6 ,
P_yxv(0*13) , P_y(0,0) , 0*6 ,
6*13 , 6*0 , 6*6 ;

然而出现错误!

原因:

/1./P_RES需要Resize!

    P_RES.resize(19,19);

注意事项

在Eigen矩阵填充时,注意子矩阵行列的对齐。

对于

[  13*13      13*6

6*13        6*6      ] 这种填充方式是可以的

[  13*13      6*13

13*6        6*6      ] 这种填充方式是不可以的

Matlab/Eigen矩阵填充问题的更多相关文章

  1. Matlab矩阵填充--Matlab interp2

    Matlab interp2 为Matlab的矩阵填充函数, 填充关系: x=1:11; y=1:13; x1=1:0.1:12; y1=1:0.1:14; [x2,y2]=meshgrid(x1,y ...

  2. C++实现离散余弦变换(参数为Eigen矩阵)

    C++实现离散余弦变换(参数为Eigen矩阵) 问题描述 昨天写了一个参数为二维指针为参数的离散余弦变换,虽然改进了参数为二维数组时,当数组大小不确定时声明函数时带来的困难,但使用指针作为参数也存在一 ...

  3. Matlab中矩阵的平方和矩阵中每个元素的平方介绍

    该文章讲述了Matlab中矩阵的平方和矩阵中每个元素的平方介绍.   设t = [2 4 2 4] 则>> t.^2 ans = 4 164 16 而>> t^2 ans = ...

  4. matlab将矩阵数据归一化到[0,255]

    matlab将矩阵数据归一化到[0,255]     function OutImg = Normalize(InImg) ymax=255;ymin=0; xmax = max(max(InImg) ...

  5. Matlab操作矩阵的相关方法

    Matlab操作矩阵的相关方法 下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳 一.基本操作 1.生成矩阵(ones.zeros) A = [1 2;3 4;5 6]    ...

  6. Eigen 矩阵库学习笔记

    最近为了在C++中使用矩阵运算,简单学习了一下Eigen矩阵库.Eigen比Armadillo相对底层一点,但是只需要添加头文库即可使用,不使用额外的编译和安装过程. 基本定义 Matrix3f是3* ...

  7. MATLAB学习笔记(二)——主要是MATLAB的矩阵知识

    PS:主要是讲解矩阵的相应的实现方法,其实MATLAB的很大一部分的优势,就是集成了矩阵级别的运算,并以此为特点,可以进行多维空间上的验证. 让我们懂得了原来线性代数如此有用= - =. (一)MAT ...

  8. numpy opencv matlab eigen SVD结果对比

    参考 https://zhuanlan.zhihu.com/p/26306568 https://byjiang.com/2017/11/18/SVD/ http://www.bluebit.gr/m ...

  9. [matlab]改变矩阵的大小并保存到txt文件

    要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...

随机推荐

  1. ganlgia-rrdcached

    一.介绍 rrdcached是一个高性能的RRD缓存守护进程,在不带来大量磁盘读/写文件i/o负荷的情况下,允许gmetad实例维护多个RRD文件.rrdcached可通过命令套接字控制,并且包含在大 ...

  2. GMT,UTC,DST,CST时间详解

    全球24个时区的划分       相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究 ...

  3. 20180703mysql运维专题一:利用etl监控mysql日志

    参考地址: https://www.elastic.co/solutions/logging https://www.elastic.co/guide/en/beats/filebeat/curren ...

  4. nyoj_91_阶乘之和_201312131321

    阶乘之和 时间限制:3000 ms  |           内存限制:65535 KB 难度:3   描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9 ...

  5. 洛谷 P1586 四方定理

    P1586 四方定理 题目描述 四方定理是众所周知的:任意一个正整数nn,可以分解为不超过四个整数的平方和.例如:25=1^{2}+2^{2}+2^{2}+4^{2}25=1​2​​+2​2​​+2​ ...

  6. MVC.Net:将Reponse Redirect从Get变为Post

    在我们使用Response.Redirect命令的时候,有时候希望以POST的方式将参数传递过去.那么Redirect支持这种做法吗?答案是不支持... ======= 怎么办呢? ======= 我 ...

  7. Hard模式题目

    先过一下Hard模式的题目吧.   # Title Editorial Acceptance Difficulty Frequency   . 65 Valid Number     12.6% Ha ...

  8. JEval使用实例

    jeval是为为你的Java应用程序提供可增加的.高性能.数学.  布尔和函数表达式的解析和运算的高级资源包. 以下这个样例包括了JEval经常使用功能: package demo0; import ...

  9. 基于QT的多线程server

    // thread.cpp #include "thread.h" Thread::Thread(int socketDescriptor, QObject *parent) : ...

  10. 关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法

    今天在外面开navicat for mysql的时候,怎么也连不上自己本机上的数据库,一直显示2005 - Unknown MySQL server host 'localhost' (0): 错误代 ...