Matlab/Eigen矩阵填充问题
2024-08-30 07:31:23
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 ] 这种填充方式是不可以的
最新文章
- SpringMVC 入门
- ASCII、UNICODE、UTF-8等关系
- 【BZOJ-3144】切糕 最小割-最大流
- 爱莲(iLinkIT)的架构与原理
- 合并傻子//区间dp
- Android Studio安装使用图文教程
- Gulp 从0开始
- Problem A Where is the Marble?(查找排序)
- Windows7 java-jdk1.7安装及设置变量过程
- angularjs+webapi2 跨域Basic 认证授权(二)
- 洛谷P1220关路灯题解
- 用phpstudy配置网站遇到的一些问题
- js 毫秒转天时分秒
- matlab练习程序(点云表面法向量)
- The query below helps you to locate tables without a primary key:
- JavaScript进阶系列01,函数的声明,函数参数,函数闭包
- Excel常用快捷键大全
- FolderSync :The various features and how to use them
- python运行错误---TabError: Inconsistent use of tabs and spaces in indentation
- Settings app简单学习记录
热门文章
- SSL常用专业缩略语汇总
- 【codeforces 761E】Dasha and Puzzle
- 【codeforces 766E】Mahmoud and a xor trip
- 用keil编写的 C51错误 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START
- war包结构
- 小胖说事14--------IOS字体大小,字号的问题 PX转化为UIFont
- BC ROUND 43# 03 HDU 5266
- 怎样使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率
- 20170322js面向对象
- 使用匿名类型做为ComboBox的DataSource