Creating a submatrix from a matrix

15 ビュー (過去 30 日間)
Bran
Bran 2013 年 1 月 8 日
回答済み: nabin 2014 年 5 月 8 日
I have a matrix for example; A = {1 3 7; 10 1 2; 11 5 9; 12 2 5] (however, mine is much bigger) And I would like to keep the rows where all the elements in the row are less than or equal to 7 to put into a new submatrix called B. How would I go about this?
Many thanks for any help you can give :)

採用された回答

José-Luis
José-Luis 2013 年 1 月 8 日
編集済み: José-Luis 2013 年 1 月 8 日
A = [1 3 7; 10 1 2; 11 5 9; 12 2 5]
your_mat = A(all(A<=7,2),:);
I looked at your question history. Please accept an answer if it helped you. It is the only "payment" contributors in this forum receive.
  5 件のコメント
José-Luis
José-Luis 2013 年 1 月 10 日
編集済み: José-Luis 2013 年 1 月 10 日
(-8/3)<=B2<=(8/3)
is not valid Matlab syntax. You could try instead:
abs(B2) <= 8/3
Bran
Bran 2013 年 1 月 14 日
Many thanks, that worked for me :)

サインインしてコメントする。

その他の回答 (3 件)

Thomas
Thomas 2013 年 1 月 8 日
編集済み: Thomas 2013 年 1 月 8 日
A = [1 3 7; 10 1 2; 11 5 9; 12 2 5]
out=A(find(sum(A<=7,2)==size(A,2)),:) % rows with elements <=7
  1 件のコメント
Bran
Bran 2013 年 1 月 8 日
Thanks Guys for all the help!

サインインしてコメントする。


Azzi Abdelmalek
Azzi Abdelmalek 2013 年 1 月 8 日
編集済み: Azzi Abdelmalek 2013 年 1 月 8 日
A = {1 3 7; 10 1 2; 11 5 9; 12 2 5};
B=cell2mat(A);
out1=B(B<7);
n=numel(out1);
n1=floor(sqrt(n));
m1=ceil(n/n1);
out=cell(1,n1*m1);
out(1:n)=num2cell(out1)';
B=reshape(out,n1,m1)
  1 件のコメント
Bran
Bran 2013 年 1 月 8 日
Many thanks for the help!

サインインしてコメントする。


nabin
nabin 2014 年 5 月 8 日
I have a matrix A=[1 2 3; 1 2 9; 2 3 4]. I want a matrix B whose column 1 is equal to 1. How can I do this? B=[1 2 3; 1 2 9]

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by