필터 지우기
필터 지우기

How to convert a vector to be a string

조회 수: 197 (최근 30일)
Izzat Brgli
Izzat Brgli 2021년 3월 28일
댓글: Stephen23 2021년 3월 30일
I'm trying to convert a vector to be a string. for example
[1,2,3,4] -> "[1,2,3,4]"
so I did write this func
function [output] = make_string(arr)
output ={};
for i=1:length(arr)
output{end+1} = strcat('[',num2str(arr{i}),']');
end
end
but unfortunately, it takes a lot of computing time and my script became really slow. So is there any other solution?
thanks a lot in advance

채택된 답변

Matt J
Matt J 2021년 3월 28일
string(mat2str([1,2,3,4,5]))
ans = "[1 2 3 4 5]"

추가 답변 (1개)

Ken Garrard
Ken Garrard 2021년 3월 28일
You don't need a cell array for this problem and your make_string function has errors. See doc 'cell arrays'.
If you want a comma between the values in the output string you can use the sprintf function.
s = ['[' sprintf('%g, ',A(1:end-1)) sprintf('%g]',A(end))];
This is also about 40% faster than mat2str.
  댓글 수: 4
Izzat Brgli
Izzat Brgli 2021년 3월 28일
편집: Izzat Brgli 2021년 3월 28일
what do you recommend to do? because I agree with you it's inefficient
Stephen23
Stephen23 2021년 3월 28일
"what do you recommend to do?"
Exactly like I wrote in my last comment, I reccomend that you give more details of what you are currently doing, so that someone can help you. If you do not give example code, we cannot guess exactly what you are doing.

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

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by