matlab矩阵非方阵求逆,python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...
假设您具有满秩的NxM矩阵A,其中M> N.如果我们用C_i表示列(尺寸为Nx1),那么我们可以将矩阵写为
A = [C_1, C_2, ..., C_M]
如何获得原始矩阵A的第一个线性独立列,以便您可以构造一个新的NxN矩阵B,它是一个具有非零行列式的可逆矩阵.
B = [C_i1, C_i2, ..., C_iN]
如何在matlab或python numpy中找到索引{i1,i2,…,iN}?这可以使用奇异值分解来完成吗?代码片段将非常受欢迎.
编辑:
为了使其更具体,请考虑以下python代码
from numpy import *
from numpy.linalg.linalg import det
M = [[3, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 1],
[0, 2, 0, 0, 0]]
M = array(M)
I = [0,1,2,4]
assert(abs(det(M[:,I])) > 1e-8)
因此,给定矩阵M,需要找到一组N个线性独立列向量的索引.
解决方法:
在MATLAB中轻松,轻松.使用QR,特别是枢轴QR.
M = [3 0 0 0 0;
0 0 1 0 0;
0 0 0 0 1;
0 2 0 0 0]
[Q,R,E] = qr(M)
Q =
1 0 0 0
0 0 1 0
0 0 0 1
0 1 0 0
R =
3 0 0 0 0
0 2 0 0 0
0 0 1 0 0
0 0 0 1 0
E =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 0 1
0 0 0 1 0
E的前4列表示要使用的M列,即列[1,2,3,5].如果你想要M的列,只需形成产品M * E.
M*E
ans =
3 0 0 0 0
0 0 1 0 0
0 0 0 1 0
0 2 0 0 0
顺便说一下,使用det确定矩阵是否是单数是绝对的,肯定的,绝对最差的方法.
请改用排名.
从本质上讲,你几乎不应该在MATLAB中使用det,除非你理解为什么它是如此糟糕的事情,并且你选择使用它尽管如此.
标签:python,matlab,numpy,linear-algebra,svd
来源: https://codeday.me/bug/20190526/1158231.html
matlab矩阵非方阵求逆,python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...相关推荐
- python怎么矩阵的秩_python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...
在MATLAB中轻松,轻松.使用QR,特别是枢轴QR. M = [3 0 0 0 0; 0 0 1 0 0; 0 0 0 0 1; 0 2 0 0 0] [Q,R,E] = qr(M) Q = 1 0 ...
- 【SIMULINK】simulink实现信号矩阵整合、求逆、转置、分解、向量矩阵相乘(非matlab)
[SIMULINK]simulink实现信号矩阵整合.求逆.转置.分解.乘(非matlab) simulink实现信号矩阵,并实现分解 simulink实现信号矩阵求逆 simulink实现信号矩阵转 ...
- 3D数学之矩阵的各种求逆
经过三天的准备终于把矩阵的各种求逆方法以及代码完成了.心里有点小激动,come on,来吧,点燃你的心中的那团火,跟着游戏音乐的律动一起跟我走入神秘的3D世界. 下面介绍三种方法: 1.用伴随矩阵求逆 ...
- opencv求矩阵的逆_OpenCV 矩阵操作 加减乘除 求逆 行列式值 | 学步园
GEMM 通用矩阵乘法 void cvGEMM( const CvArr* src1, const CvArr* src2, double alpha, const CvArr* src3, doub ...
- 怎么用计算机求逆矩阵,计算机是怎么求解线性方程的(矩阵乘和求逆)
上回我们说到,高斯老哥用消元法解线性方程,大致步骤呢就是给系数矩阵消元,运气好点呢直接整出上三角系数矩阵,得到方程组的唯一解,运气不行呢,消着消着发现整不出上三角,这时就得再讨论方程是有多解还是无解. ...
- 矩阵乘法如何去逆矩阵_矩阵乘法和求逆
矩阵乘法如何去逆矩阵 数据科学与机器学习的线性代数 (LINEAR ALGEBRA FOR DATA SCIENCE AND MACHINE LEARNING) We are going to tre ...
- c语言10 u0010求余怎么求,矩阵LU分解求逆详细分析与C语言实现.docx
题目要求 给定一个多维矩阵,实现该矩阵的求逆运算. 1.理论分析 矩阵的一种有效而广泛应用的分解方法是矩阵的LU三角分解,将 一个n阶矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积.所 以首先对 ...
- matlab节点导纳阵求逆,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...
- 115.n阶方阵求逆
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX 255void Matri ...
最新文章
- OpenWrt编程篇
- [项目更新] 集成RabbitMQ队列与EventBus总线
- db h2 数据类型_H2数据库函数及数据类型概述
- elipse与数据库Mysql连接,并实现创建数据表的功能
- 鸿蒙电视rom,鸿蒙系统刷机包
- 如何查看teamviewer计算机id,TeamViewer如何设置固定ID密码?查看方法说明
- 未来生活进行时: 畅想未来新兴技术40年——百大趋势性技术汇总(上)
- Android图片轮播控件
- Java反射机制详解上篇
- 使用工具清理Windows的winsxs目录
- FNN 网络介绍与源码浅析
- PyTorch学习(十一)encoded,decoded
- 最简单Unity 连招入门--只有20行代码
- 【IoT】项目管理:如何做好端到端的项目管理?
- 侯捷C++系统工程师
- 测试百科:白盒测试用例的设计(图文并茂,非常详细)
- OLA/SOLA/WSOLA语音重叠相加算法分析
- 行为树 Behavior Tree 原理 一
- html滚动字幕如何调色,如何通过制作滚动字幕的软件实现这种片尾的向上滚动字幕效果...
- Vim/Cscope使用