Matlab/Eigen矩阵填充问题
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矩阵填充问题的更多相关文章
- 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 ...
- C++实现离散余弦变换(参数为Eigen矩阵)
C++实现离散余弦变换(参数为Eigen矩阵) 问题描述 昨天写了一个参数为二维指针为参数的离散余弦变换,虽然改进了参数为二维数组时,当数组大小不确定时声明函数时带来的困难,但使用指针作为参数也存在一 ...
- Matlab中矩阵的平方和矩阵中每个元素的平方介绍
该文章讲述了Matlab中矩阵的平方和矩阵中每个元素的平方介绍. 设t = [2 4 2 4] 则>> t.^2 ans = 4 164 16 而>> t^2 ans = ...
- matlab将矩阵数据归一化到[0,255]
matlab将矩阵数据归一化到[0,255] function OutImg = Normalize(InImg) ymax=255;ymin=0; xmax = max(max(InImg) ...
- Matlab操作矩阵的相关方法
Matlab操作矩阵的相关方法 下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳 一.基本操作 1.生成矩阵(ones.zeros) A = [1 2;3 4;5 6] ...
- Eigen 矩阵库学习笔记
最近为了在C++中使用矩阵运算,简单学习了一下Eigen矩阵库.Eigen比Armadillo相对底层一点,但是只需要添加头文库即可使用,不使用额外的编译和安装过程. 基本定义 Matrix3f是3* ...
- MATLAB学习笔记(二)——主要是MATLAB的矩阵知识
PS:主要是讲解矩阵的相应的实现方法,其实MATLAB的很大一部分的优势,就是集成了矩阵级别的运算,并以此为特点,可以进行多维空间上的验证. 让我们懂得了原来线性代数如此有用= - =. (一)MAT ...
- numpy opencv matlab eigen SVD结果对比
参考 https://zhuanlan.zhihu.com/p/26306568 https://byjiang.com/2017/11/18/SVD/ http://www.bluebit.gr/m ...
- [matlab]改变矩阵的大小并保存到txt文件
要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,r ...
随机推荐
- ganlgia-rrdcached
一.介绍 rrdcached是一个高性能的RRD缓存守护进程,在不带来大量磁盘读/写文件i/o负荷的情况下,允许gmetad实例维护多个RRD文件.rrdcached可通过命令套接字控制,并且包含在大 ...
- GMT,UTC,DST,CST时间详解
全球24个时区的划分 相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究 ...
- 20180703mysql运维专题一:利用etl监控mysql日志
参考地址: https://www.elastic.co/solutions/logging https://www.elastic.co/guide/en/beats/filebeat/curren ...
- nyoj_91_阶乘之和_201312131321
阶乘之和 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9 ...
- 洛谷 P1586 四方定理
P1586 四方定理 题目描述 四方定理是众所周知的:任意一个正整数nn,可以分解为不超过四个整数的平方和.例如:25=1^{2}+2^{2}+2^{2}+4^{2}25=12+22+2 ...
- MVC.Net:将Reponse Redirect从Get变为Post
在我们使用Response.Redirect命令的时候,有时候希望以POST的方式将参数传递过去.那么Redirect支持这种做法吗?答案是不支持... ======= 怎么办呢? ======= 我 ...
- Hard模式题目
先过一下Hard模式的题目吧. # Title Editorial Acceptance Difficulty Frequency . 65 Valid Number 12.6% Ha ...
- JEval使用实例
jeval是为为你的Java应用程序提供可增加的.高性能.数学. 布尔和函数表达式的解析和运算的高级资源包. 以下这个样例包括了JEval经常使用功能: package demo0; import ...
- 基于QT的多线程server
// thread.cpp #include "thread.h" Thread::Thread(int socketDescriptor, QObject *parent) : ...
- 关于MySQL错误 2005 - Unknown MySQL server host 'localhost' (0) 原因及解决方法
今天在外面开navicat for mysql的时候,怎么也连不上自己本机上的数据库,一直显示2005 - Unknown MySQL server host 'localhost' (0): 错误代 ...