利用matlab,在矩阵中随机选择几个行向量组成新的矩阵
例如矩阵A=113500012150001318000142900015300001834000我想在矩阵中随机选择几个行向量、子行向量,组成一个新的矩阵,如B=1215...
例如矩阵A=1 1 35 0 0 0
1 2 15 0 0 0
1 3 18 0 0 0
1 4 29 0 0 0
1 5 30 0 0 0
1 8 34 0 0 0
我想在矩阵中随机选择几个行向量、子行向量,组成一个新的矩阵,如B=1 2 15
1 4 29
1 2 15
1 5 30
在matlab中如何实现? 展开
1 2 15 0 0 0
1 3 18 0 0 0
1 4 29 0 0 0
1 5 30 0 0 0
1 8 34 0 0 0
我想在矩阵中随机选择几个行向量、子行向量,组成一个新的矩阵,如B=1 2 15
1 4 29
1 2 15
1 5 30
在matlab中如何实现? 展开
2个回答
展开全部
我觉得你说的这个问题很简单啊。
写成函数的形式就是
function B=partial_vector(A,N,M)
%N:想要抽取的行的编号
%M:想要抽取的列编号
B=A(N,M);
end
对于你的例子中就是,N=[2,4,2,5];M=1:3.
不知道我的理解对不对?
写成函数的形式就是
function B=partial_vector(A,N,M)
%N:想要抽取的行的编号
%M:想要抽取的列编号
B=A(N,M);
end
对于你的例子中就是,N=[2,4,2,5];M=1:3.
不知道我的理解对不对?
追问
跟我的思路有点不一致。我希望能随机产生 行向量,组成新的向量。随机产生。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A=[1 1 35 0 0 0;
1 2 15 0 0 0;
1 3 18 0 0 0;
1 4 29 0 0 0;
1 5 30 0 0 0;
1 8 34 0 0 0];
[m n]=size(A);
i=2;j=2;m1=3;n1=4;%选1≤i≤m,1≤j≤n
B=A(i:m1,j:n1)
可改i,j,m1,n1,组成不同的子矩阵B
1 2 15 0 0 0;
1 3 18 0 0 0;
1 4 29 0 0 0;
1 5 30 0 0 0;
1 8 34 0 0 0];
[m n]=size(A);
i=2;j=2;m1=3;n1=4;%选1≤i≤m,1≤j≤n
B=A(i:m1,j:n1)
可改i,j,m1,n1,组成不同的子矩阵B
追问
您理解的跟我有点偏差,我是想在原矩阵中随机选择几个子行向量如(1,1, 35)组成新的矩阵,您的方法虽然取得了子行向量,但不是计算机自己随机产生的。您看有没有什么方法能实现随机选择?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询