matlab怎么将一个m行n列的矩阵表示成m个一行n列的向量
你好,我想把一个m行n列的矩阵用m个一行n列的向量来表示。例如,x=[1,2,3;4,5,6;7,8,9],我想用y(1)=[1,2,3],y(2)=[4,5,6],y(...
你好,我想把一个m行n列的矩阵用m个一行n列的向量来表示。
例如,x=[1,2,3;4,5,6;7,8,9],我想用y(1)=[1,2,3],y(2)=[4,5,6],y(3)=[7,8,9],用y向量来表示x,即x=[y1;y2;y3]来表示,而且一共是200行153列,估计要用循环,请问怎么编写程序?
盼回! 展开
例如,x=[1,2,3;4,5,6;7,8,9],我想用y(1)=[1,2,3],y(2)=[4,5,6],y(3)=[7,8,9],用y向量来表示x,即x=[y1;y2;y3]来表示,而且一共是200行153列,估计要用循环,请问怎么编写程序?
盼回! 展开
9个回答
展开全部
% 使用 reshape(X ,m,n)函数
% 先了解一下reshape的基本用法
% 简而言之就是将矩阵X—>m*n的新矩阵
% 例如:将 3*4的A矩阵—>2*6的B矩阵
A =[1 4 7 10
2 5 8 11
3 6 9 12];
B = reshape(A,2,6);
% 等价于 B = reshape(A(:),2,6)
% 等价于 B = reshape(A(:),2,[])
% 上面运行结果为
B =[ 1 3 5 7 9 11
2 4 6 8 10 12];
% 分析:
% 因为 MATLAB会将A转换成A(:)
% 按列输出 A(:)=[1,2,3,4,5,6,7,8,9,10,11,12];
% 对B,注意B是2行6列,同样MATLAB会按列输入
% B =[ 1 3 . . . 11
% 2 . . . 10 12];
% 你说的意思,是不是矩阵A的每一列,按列元素拍在一行?
% 第一种方法:
C = reshape(A,1,[]);
% 第二种方法:
C=A(:)';
由于没能完全理解题主的意思,题主可以根据我说的,按照reshape函数来解决问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一,整体介绍,已知一个m行n列的矩阵,记为A,我们要将它每一行表示为一个向量
二,所需工具,MATLAB
三,步骤:
1,获取矩阵维度:[m,n]=size(A);
2,矩阵A的第i个行向量表示为:A(i,:)。其中,i 是大于等于1,并且小于等于m的整数
二,所需工具,MATLAB
三,步骤:
1,获取矩阵维度:[m,n]=size(A);
2,矩阵A的第i个行向量表示为:A(i,:)。其中,i 是大于等于1,并且小于等于m的整数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个我建议直接读取它的行,比如我要读取A[1,2,3;4,5,6;7,8,9]的第二行,MATLAB命令为A(2,:)。要读去第一行,MATLAB命令为A(1,:)。
如果你要读取第一列的话,MATLAB命令为A(:,1)
如果你要读取第一列的话,MATLAB命令为A(:,1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果矩阵A是m 行 n列,而你想将其转置为n行m列,则使用reshape函数:
B = reshape(A, n, m)
这样就把A转成n行,m列的矩阵B了
B = reshape(A, n, m)
这样就把A转成n行,m列的矩阵B了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询