MATLAB: String join does not work for char arrays

MATLABstring join

I have a column list of numbers like the below
M = [2; 3; 5; 7; 16];
What I want is to create a string array like this
"2, 3, 5, 7, 16"
Why can't I use the below to get what I want? What is the correct way to do this?
b = join(num2str(M), ', ')
Here is the error:
"First argument must be a string array, character vector, or cell array of character vectors."

Best Answer

One approach:
M = [2; 3; 5; 7; 16];
M2Str = sprintf("%d, ",M(1:end-1)) + string(M(end))
producing:
M2Str =
"2, 3, 5, 7, 16"
.