Create a matrix table from two matrices

Hi;
I have to matrices (5x2) of the same dimensions.
A= [10 0;
8 2;
6 2;
4 2;
1 1];
B= [10 0;
9 1;
8 1;
7 1;
6 1];
I need to create a new matrix C where the first columns of matrices A and B are merged in a single column in C with decresing order while eliminating repeated values. The new matrix C will include aditional columns to save the corresponding values of A and B. Set the element to 0 If there is not a corresponding value. After merging A and B, the new matrix C is a (7x3) and looks in the following way:
A(:,1)/B(:,1) A(:,2) B(:,2)
C= [ 10 0 0
9 0 1
8 2 1
7 0 1
6 2 1
4 2 0
1 1 0]
Many thanks
Eliot

 采纳的回答

% Assuming first column of A & B is already arranged in descending order
U = sort(unique([A(:,1);B(:,1)]),'descend');
[AA,BB]=deal(zeros(size(U)));
AA(ismember(U,A(:,1)))=A(:,2);
BB(ismember(U,B(:,1)))=B(:,2);
C = [U,AA,BB];

更多回答(1 个)

Many, thanks Madhan
It works perfectly!
Regards
Eliot

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品

版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by