Filter löschen
Filter löschen

replace the elements of a matrix

1 Ansicht (letzte 30 Tage)
pavlos
pavlos am 13 Feb. 2014
Kommentiert: Dishant Arora am 13 Feb. 2014
Hello,
Consider a 100x1 matrix, called A, that contains random values of "0" and "1".
The number of "1" is 25 and the rest 75 are "0".
Also, consider a matrix 25x1, called B, that contains random values.
How can I replace the "1" of matrix A with the values of matrix B?
The "0" of A would not be influenced.
Thank you.
Best,
Pavlos

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 13 Feb. 2014
  2 Kommentare
pavlos
pavlos am 13 Feb. 2014
Thank you for your response.
Unfortunately, the above code do not work.
It works only when A and B have the same dimensions.
In my case, A is 100x1 and B is 25x1.
The number of "1" in A are 25.
Azzi Abdelmalek
Azzi Abdelmalek am 13 Feb. 2014
This is not true. Look at this example
%exmple
A=zeros(100,1);
A(randperm(100,25))=1
B=rand(25,1)
%----------------------
A(A==1)=B

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Dishant Arora
Dishant Arora am 13 Feb. 2014
A(find(A==1))=B;
  2 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 13 Feb. 2014
Why to add find when you can do it without it?
Dishant Arora
Dishant Arora am 13 Feb. 2014
yeah,got it

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by