# Replacing values of a vector with values in another vector of a different size

1 ビュー (過去 30 日間)
Erin 2022 年 9 月 9 日
コメント済み: Erin 2022 年 9 月 9 日
Hello,
Essentially I am trying to create a new matrix C that is the size of A, but replaces the 1s in A with the values in B while keeping everything in the same order. If the value in B is inf, I would like for it to be replaced by a 0.
Here is an example of what I am trying to do (the actual vectors are about 600 elements in length):
A = [ 0 0 0 1 1 1 0 0 1 1 0 0 0 ... ]
B = [ 1 2 3 inf 4 ... ]
C = [ 0 0 0 1 2 3 0 0 0 4 0 0 0 ... ]
Any ideas on how I can accomplish this?
Any help is much appreciated, thanks in advance!

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

### 採用された回答

Stephen23 2022 年 9 月 9 日

A = [0,0,0,1,1,1,0,0,1,1,0,0,0];
B = [1,2,3,inf,4];
C = double(A);
C(A==1) = B;
C(isinf(C)) = 0
C = 1×13
0 0 0 1 2 3 0 0 0 4 0 0 0
##### 1 件のコメント表示非表示 なし
Erin 2022 年 9 月 9 日
Thank you so much!

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

### カテゴリ

Find more on Matrix Indexing in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by