Value swapping

2 ビュー (過去 30 日間)
developer
developer 2011 年 9 月 8 日
Hello,
I have a matrix
x =
7 8
7 13
1 7
3 7
i want to search all 7 and shift to the first column and the corresponding value to the other coloumn, like
x =
7 8
7 13
7 1
7 3

採用された回答

Grzegorz Knor
Grzegorz Knor 2011 年 9 月 8 日
x(x(:,2)==7,:) = fliplr(x(x(:,2)==7,:))
  2 件のコメント
developer
developer 2011 年 9 月 8 日
Thanks :)
Grzegorz Knor
Grzegorz Knor 2011 年 9 月 8 日
similar solution:
x(x(:,2)==7,end:-1:1) = x(x(:,2)==7,:)

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

その他の回答 (1 件)

Paulo Silva
Paulo Silva 2011 年 9 月 8 日
x = [ 7 8
7 13
1 7
3 7]
f2=find(x(:,2)==7)+size(x,1);
f1=find(x(:,1)~=7);
tmp1=x(f1);
x(f1)=x(f2);
x(f2)=tmp1;
x
Grzegorz Knor solution seems to be better, I didn't test it.
  1 件のコメント
developer
developer 2011 年 9 月 8 日
Thanks :)

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

カテゴリ

Help Center および File ExchangeStatistics and Machine Learning Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by