converting 3D double matrix to char matrix
3 次查看(过去 30 天)
显示 更早的评论
matrix_double_3D= 286 x 1 x 32
such as:
val(:,:,1) =
1
1
.
val(:,:,2) =
2
2
.
I need to convert this matrix to char matrix with adding prefix (G) to the numbers such as:
val(:,:,1) =
G1
G1
val(:,:,2) =
G2
G2
I attached the original matrix_double_3D data. .
0 个评论
采纳的回答
DGM
2021-11-21
You can do this as a cell array of chars, or you can do it with an actual char array if you really must. Another option would be a string array, if that works for your needs.
S = load('matrix_double_3D.mat');
G = S.GPS_reference_PRN_double_original_epochs_3D;
% as a cell array
Gcl = num2cell(G);
Gcl = cellfun(@(x) sprintf('G%d',x),Gcl,'uniform',false);
Gcl(1:3,:,1:3) % show a sample
% as a fragile char array
% assumes absval of numbers are less than 100
Gch = permute(reshape(sprintf('G%02d',G),3,size(G,1),size(G,3)),[2 1 3]);
Gch(1:3,:,1:3) % show a sample
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!