How to substitute one value in vector by vector?
古いコメントを表示
Hello,
I have got a vectro x=(-1 1 -1 1) and I need to replace positions containing -1 for a vector (1 2 3) and positions containing 1 for a vector (3 2 1). so the result should be x=(1 2 3 3 2 1 1 2 3 3 2 1).
Could somebody help me?
Thanks a lot
採用された回答
その他の回答 (4 件)
x=[-1 1 -1 1];
idx=(x==1);
X=nan(3,numel(x));
X(1,idx)=3;
X(2,idx)=2;
X(3,idx)=1;
X(:,~idx)=4-X(:,idx);
X=X(:).'
x=[-1 1 -1 1];
i=(x+3)/2;
V=[1 2 3;3 2 1].';
X=reshape( V(:,i) ,1,[])
x=[-1 1 -1 1];
x=strrep(10*x,10,[3,2,1]);
x=strrep(x,-10,[1,2,3])
x=[-1 1 -1 1];
X=kron(-x,[1,2,3]);
X=X+4*(X<0)
カテゴリ
ヘルプ センター および File Exchange で Subplots についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!