matlab中把矩阵分解为列向量例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 16:18:24
matlab中把矩阵分解为列向量例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求

matlab中把矩阵分解为列向量例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求
matlab中把矩阵分解为列向量
例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].
我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求是不希望用到循环来读取每一列.类似于B=sum(A)表示A矩阵按列求和得到行向量B.
本意:找出1:1:100范围内5个数构成的向量(无先后顺序),使得它的系数在-5:1:5循环所有的循环情况下零值所占的比例最少.因为之前考虑到不用循环会不会实现这么大矩阵的运算,所以标题可能跟下面讨论的不太符.
%%%%%%%%
不知道修改后表达清楚了没.-5:1:5选5个组成的所有矩阵(11.^5=161051).我把我完成的75287520改为252的m文件发下,请改正.
clear all
n1=-5:1:5;
n2=-5:1:5;
n3=-5:1:5;
n4=-5:1:5;
n5=-5:1:5;
[temp1,temp2,temp3,temp4,temp5]=ndgrid(n1,n2,n3,n4,n5);
N=[temp1(:),temp2(:),temp3(:),temp4(:),temp5(:)];%相当于上述问题中A 161051*5
%
L1=nchoosek(1:1:10,5);%%%%%%%5*252
L=(L1)'; %%%相当于问题中B 5*252
ld=abs(N*L); %%%%%%%%%%%%%%%%相当于问题中A*B 161051*252
[a c]=size(ld);
b=zeros(1,252);
for i=1:252
LL=ld(:,i);
z=length(find(LL

matlab中把矩阵分解为列向量例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求
通过矩阵乘法运算实现,
比如
A=[1,2;3,4;5,6]
sum(A)可以写成[1,1,1;1,1,1]*A
我有两点疑问:
161051*75287520这么大的矩阵,MATLAB根本读不进来.(我粗算了一下占用内存约几十万个G)除非是用稀疏矩阵.
所以我对你的问题表示怀疑,因为你没有办法将这些数一次读进MATLAB,更不用说处理它了.如果读不进来的话,那么什么办法都是白谈.
另外一种就是直接读文件,然后循环处理,但是它的大小是几十万个G,这使得此方法可能也不可取.
%%%%%%%%%%%%%%%%%%%%%
我看了你的问题,我觉得你还是把你的本意说清楚一些.
想做什么,而不是实现什么.
对于你这个问题,你应当不用组装起所有你的那么大的矩阵.
另外:
A是-5:1:5选5个里面所有的排列,有161051*5;这个好像有问题.从多少个里面选五个,好像都不是161051这个数.
%%%%%%%%%%%%%%
建议你得自己写排列组合的程序,用循环的方式来弄.
数据量小的话,可以一次把所有的可能生成出来,数据量大,根本没有办法把所有可能一次弄出来.
用循环的话,我不建议你用MATLAB,因为MATLAB对于矩阵计算优势很大,但对于循环并不是它的强项.

matlab中把矩阵分解为列向量例如矩阵[1,2;3,4;5,6]变为两个列向量[1;3;5]和][2;4;6].我的目的是对一个1000*2000的矩阵按列进行某种复杂的运算处理(每一列最终得到一个数值),得到一个行向量.要求 matlab中怎么把一个矩阵分解为一个矩阵和另一个矩阵逆的乘积? 用matlab语言怎么将一个秩为1的矩阵分解成列向量和行向量相乘形式 MATLAB中怎样将多个行向量合并为一个矩阵 矩阵的秩等于1为何能分解为列向量与行向量乘积矩阵什么时候能分解为列向量与行向量乘积? matlab怎么把一个列向量变成一个对角矩阵?列向量的各元素就是对角矩阵对角线上的各元素,对角矩阵其他元素为零,matlb中用什么命令来实现? 如何在matlab中求出矩阵第1列和第3列的最大值(求命令)例如,A=[0 17 50;-12 40 3;5 -10 2;30 4 3],求出该矩阵第1列和第3列的最大值,用行向量表示 (例如答案为B=[30 50]).命令怎么写? matlab 矩阵变换把矩阵A变换为前r列线性无关,r为矩阵的秩 用matlab提取矩阵中偶数行例如有100行100列矩阵,把其中的偶数行和偶数列提取出来组成新矩阵的方法 MATLAB中,对于矩阵,如何去掉所有全为0的列 形成新的矩阵 请教Matlab中,一个列矩阵转换为复杂矩阵的问题谢谢了, matlab 矩阵合并(急)例如A=[a1;a2],B=[b1;b2]合并成C=[a1;a2;b1;b2]其中a1,a2,b1,b2都为列向量应该把“;”改成“,” matlab中生成一个20行3列的矩阵,想把这个矩阵按行截成4个矩阵5行3列的矩阵,该如何操作? matlab程序如何表示一个元素都是矩阵的列向量,元素的个数为100,矩阵元素含有变量. MATLAB-用n*2矩阵生成n*n矩阵已知一个n*2维矩阵,其列向量是数字1到n的一个排列.n*2维矩阵有行向量[i j],则n*n矩阵中ij元素为1.n*n矩阵其余元素为0.寻求详细程序,能运行出结果.抱歉,题目信息给的 问一个关于matlab中矩阵变形的问题想把矩阵拉成一列一列的,例如把矩阵a=[2 1 2 4 5 6 7 8 9],变形成2 4 71 5 82 6 9就是将一个行矩阵或列矩阵,每三个拉成一列.请问matlab有这样的命令吗?没有的话,具 秩为1的矩阵:一定可以分解为列矩阵(向量) 行矩阵(向量)的形式 秩为1的矩阵:一定可以分解为列矩阵(向量) 行矩阵(向量)的形式r(A)=1 故设A=αβ^T 然后这样算A^n很方便...秩为1的矩 用MATLAB求矩阵中每列的中间值组成的行矩阵例如矩阵A=[1 1 1 2; 3 4 2 3;4 3 2 1; 3 3 2 2 ; 4 5 3 6]还有把每一行的相加最后组成一个列矩阵,这个用MATLAB怎么写?