MATLAB如何从矩阵中选取满足条件的部分行构成新的矩阵?
比如有矩阵[1;2;-3;4;-5;6];如何编程能能简便地得到由负数元素构构成的新矩阵[-3;-5]?用循环好像太麻烦了,求高手指点呀!谢谢。...
比如有矩阵 [1;2;-3;4;-5;6];
如何编程能能简便地得到由负数元素构构成的新矩阵[-3;-5] ?
用循环好像太麻烦了,求高手指点呀!谢谢。 展开
如何编程能能简便地得到由负数元素构构成的新矩阵[-3;-5] ?
用循环好像太麻烦了,求高手指点呀!谢谢。 展开
5个回答
展开全部
使用a(M,N)可以提取矩阵a中符合M,N要求的部分
最简单是M,N都是标量,就是一个数例如
a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 2行3列的单元
M,N还可以是矢量,例如
a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的数据
这里还有通配的技巧,例如
a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))
M,N矢量还可以是不连续的,不是单调的,或者有重复的,例如
a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵
a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵
总之matlab通过的下标提取矩阵部分是很灵活的
假设你要提取矩阵a第n列的数据,使用a(:,n)就可以了
如果是要提取第n列前10个数据使用a(1:10,n)就可以了
最简单是M,N都是标量,就是一个数例如
a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 2行3列的单元
M,N还可以是矢量,例如
a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的数据
这里还有通配的技巧,例如
a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))
M,N矢量还可以是不连续的,不是单调的,或者有重复的,例如
a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵
a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵
总之matlab通过的下标提取矩阵部分是很灵活的
假设你要提取矩阵a第n列的数据,使用a(:,n)就可以了
如果是要提取第n列前10个数据使用a(1:10,n)就可以了
展开全部
如果这么简单的矩阵的话,可以直接写,比如,c=[x(3);x(5)] 就行了,其中我把你给的那个矩阵设成了x
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
M = zeros(100, 40);
这样应该行吧?
好吧,
repmat(M,100,1);
或者
M(ones(100,1),:);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A=[1;2;-3;4;-5;6];
B=A(find(A<0));
B=A(find(A<0));
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用循环能把每个数都比较吗。。。。。不比较又如何把负数选出来呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询