Combine different Matrix together

2 visualizzazioni (ultimi 30 giorni)
Ali
Ali il 30 Mag 2016
Commentato: Ali il 31 Mag 2016
I am trying to write a convertor, for converting a text file to another text file. I read three different matrix, and I want to combine them.
In the following, I put a small set of data.
The first matrix is this:
0 1
3 0
1 4
This is the second matrix:
-0
-1
-0
As you see, matrix one and two have the same number of rows. This is the third matrix:
0 1
0 2
2 1
3 0
3 2
2 0
1 4
1 6
I want to produce the following:
-0: 0 1
1: 0 2
2: 2 1
-1: 3 0
4: 3 2
5: 2 0
-0: 1 4
7: 1 6
I was wondering if you kindly help me.
Thanks
  3 Commenti
Ali
Ali il 31 Mag 2016
Many thanks. I want to print data in this way.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 31 Mag 2016
firstcol = cellstr( num2str( (0:size(Third,1)-1).', '%d:') );
[tf, idx] = ismember(Third, First, 'rows');
firstcol(tf) = Second(idx(tf));
Output = [firstcol, num2cell(Third)];
  5 Commenti
Walter Roberson
Walter Roberson il 31 Mag 2016
firstcol = (0:size(Third,1)-1).';
[tf, idx] = ismember(Third, First, 'rows');
firstcol(tf) = Second(idx(tf));
fprintf( '%3d: %3d %3d\n', [firstcol, Third].');
Ali
Ali il 31 Mag 2016
Thank you very much Walter Roberson . You really helped me here.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by