How can i combine two column of a matrix into one column?
2 次查看(过去 30 天)
显示 更早的评论
I have a matrix of order m by 3. All three (3) columns contain numeric values; I want to do a sequence of operation as follows:
- Convert the last two column into text while the first one remain numeric;
- Combine the last two columns that have now text values into a one column hence the matrix order will be reduce to m by 2;
Please guide me how can i do that. I am a new user of matlab. I would be very thankful for urgent reply.
T. Islam
1 个评论
Jan
2012-6-29
编辑:Jan
2012-6-29
Please post a minimal example. What is the expected result for: [1,2,3; 4,5,6]? Consider, that you cannot mix numerical and string data in one matrix, but this is possible in a cell.
The term "urgent" is counter-productive in this forum, which is supported by volunteers in their spare-time. I'd suggest to delete it.
回答(1 个)
Adam Filion
2012-6-29
编辑:Adam Filion
2012-6-29
You cannot mix data types inside of a matrix, but you could do this instead inside of a cell. For example
A = magic(3);
B = cell(size(A,1),size(A,2)-1);
for i=1:3
B{i,1} = A(i,1);
B{i,2} = [num2str(A(i,2)) ' ' num2str(A(i,3))];
end
[EDIT] changed code to better match problem description
2 个评论
Adam Filion
2012-6-29
Forgot about removing the last column with [], good way to go about it to avoid creating a new variable.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!