Inserting data of one matrix into another
2 views (last 30 days)
Show older comments
If I have a vector a
0
0
1
1
0
0
and a vector b
5
6
and I want to input the data of b into the nonzero elements of a (which will always be together and matching the dimensions of b), so that vector c reads
0
0
5
6
0
0
What is an easy way to do this? Thank you!
Another example that it needs to work for:
a b c
_ _ _
0 4 0
0 8 0
1 3 ----> 4
1 7 8
1 3
1 7
0 Comments
Accepted Answer
Adam
on 26 Sep 2014
Edited: Adam
on 26 Sep 2014
a(a ~= 0) = b
10 Comments
Shane Hagen
on 3 Apr 2015
I have a slightly different issue maybe someone can help?
I have a matrix [signal] of 315954x64 of signal data. In another matrix [FFlash] (155520x1) there is logical 1 or 0 depending on an activation
I have categorized the signal matrix to obtain a matrix [FFsignal] (155520x64) of data when there is an activation
To graph I need matrices of similar dimensions so I wanted to insert the categorized data into a matrix of zeros of size (315954x64)
For example the first group of activation is in rows 631-654 and when categorized I have data for those time points. I want to add this data to a matrix of zeros in the same time points if possible. Therego, zeros until 631-654 and so on through the set. Please help!
More Answers (2)
Stephen23
on 3 Apr 2015
Edited: Stephen23
on 3 Apr 2015
>> a = [false;false;true;true;false;false];
>> b = [5;6];
>> c = zeros(size(a));
>> c(a) = b
c =
0
0
5
6
0
0
And the same for the second example:
>> a = [false;false;true;true;true;true];
>> b = [4;8;3;7];
>> c = zeros(size(a));
>> c(a) = b
c =
0
0
4
8
3
7
3 Comments
Shane Hagen
on 3 Apr 2015
I posted the question :Inserting data into matrix of zeros from another matrix.
LUI PAUL
on 3 Apr 2015
Edited: LUI PAUL
on 3 Apr 2015
try simple
a=[0;0;1;1;0;0];
b=[5;6];
p=find(a>0);
a(p)=b
a =
0 0 5 6 0 0
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!