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      ] 这种填充方式是不可以的

最新文章

  1. SpringMVC 入门
  2. ASCII、UNICODE、UTF-8等关系
  3. 【BZOJ-3144】切糕 最小割-最大流
  4. 爱莲(iLinkIT)的架构与原理
  5. 合并傻子//区间dp
  6. Android Studio安装使用图文教程
  7. Gulp 从0开始
  8. Problem A Where is the Marble?(查找排序)
  9. Windows7 java-jdk1.7安装及设置变量过程
  10. angularjs+webapi2 跨域Basic 认证授权(二)
  11. 洛谷P1220关路灯题解
  12. 用phpstudy配置网站遇到的一些问题
  13. js 毫秒转天时分秒
  14. matlab练习程序(点云表面法向量)
  15. The query below helps you to locate tables without a primary key:
  16. JavaScript进阶系列01,函数的声明,函数参数,函数闭包
  17. Excel常用快捷键大全
  18. FolderSync :The various features and how to use them
  19. python运行错误---TabError: Inconsistent use of tabs and spaces in indentation
  20. Settings app简单学习记录

热门文章

  1. SSL常用专业缩略语汇总
  2. 【codeforces 761E】Dasha and Puzzle
  3. 【codeforces 766E】Mahmoud and a xor trip
  4. 用keil编写的 C51错误 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START
  5. war包结构
  6. 小胖说事14--------IOS字体大小,字号的问题 PX转化为UIFont
  7. BC ROUND 43# 03 HDU 5266
  8. 怎样使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率
  9. 20170322js面向对象
  10. 使用匿名类型做为ComboBox的DataSource