How to Concatenate two matrix's each elements ?

조회 수: 10 (최근 30일)
Lenin chakravarthy Kuppannan
Lenin chakravarthy Kuppannan 2016년 5월 17일
편집: Stephen23 2016년 5월 20일
Hi, I am trying to concatenate two matrix's each elements, like following,
A = [ a b c; d e f; g h i] and B = [ 1 2 3; 4 5 6; 7 8 9]
Now i need to create a new matrix like c = [ a1 b2 c3; d4 e5 f6; g7 h8 i9]
Note: here, "a1" is not multiplying 'a' and '1' ( != a * 1). Just concatenating the two elements.
Pls help to do it.
Have a nice day.
- Lenin

채택된 답변

Elias Gule
Elias Gule 2016년 5월 17일
Let's try:
syms a b c d e f g h i % initialize symbols
A = [a b c;d e f;g h i];
B = [1 2 3;4 5 6;7 8 9];
sz = size(A);
C = cell(sz); % initialize a cell array to hold the concatenated elements
for row = 1 : sz(1)
for col = 1 : sz(2)
a = A(row,col);
b = B(row,col);
C{row,col} = strcat(a,num2str(b)); % convert B(i,j) to string for concatenation
end
end
  댓글 수: 2
Lenin chakravarthy Kuppannan
Lenin chakravarthy Kuppannan 2016년 5월 18일
편집: Lenin chakravarthy Kuppannan 2016년 5월 18일
Hi, Thank you for your help. your program works very well. I modified your program little to meet my objective.
My objective is to create a new matrix num_mat = [111 222 333; 444 555 666; 777 888 999] by concatenating the following matrix A = [1 2 3; 4 5 6; 7 8 9] and B = [11 22 33; 44 55 66; 77 88 99].
Note: A,B & num_mat matrix are numbers.
Here the output 'num_mat's elements need to be numbers, not strings.
So i wrote a program with your program as base as following, kindly see the attachment.
- Kindly hep me to solve this problem.
Have a good day.
- Lenin
Elias Gule
Elias Gule 2016년 5월 20일
Ola!
Thanks, your example matrices just made my life easy. Try the following code:
C = arrayfun(@(x,y) str2double(strcat(num2str(x),num2str(y))),A,B)
where A and B are numerical matrices of the same size.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2016년 5월 17일
편집: Andrei Bobrov 2016년 5월 18일
A = [ 1 2 3; 4 5 6; 7 8 9];
B = [ 1 2 3; 4 5 6; 7 8 9];
str2double(strcat(arrayfun(@num2str,A,'un',0),arrayfun(@num2str,B,'un',0)))

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by