Inserting data of one matrix into another
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Adam
2014 年 9 月 26 日
編集済み: Adam
2014 年 9 月 26 日
a(a ~= 0) = b
10 件のコメント
Shane Hagen
2015 年 4 月 3 日
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!
その他の回答 (2 件)
Stephen23
2015 年 4 月 3 日
編集済み: Stephen23
2015 年 4 月 3 日
>> 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 件のコメント
Shane Hagen
2015 年 4 月 3 日
I posted the question :Inserting data into matrix of zeros from another matrix.
LUI PAUL
2015 年 4 月 3 日
編集済み: LUI PAUL
2015 年 4 月 3 日
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
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!