make header from numeric array

Hi,
I have a numeric array and want to concatenate each element with a string. As I will use the new array as a header, it needs to end up as a cell array.
i am trying:
wl_arr = 400:1.85:2400;
hdr = strcat('L_conv_', num2cell(wl_arr));
but get this:
I also tried:
wl_arr_str = num2str(wl_arr);
rad_conv_hdr1 = strcat('L_conv_', wl_arr_str);

3 Comments

"L_conv_" + wl_arr
Provided you have r2017a or later
Thanks a lot for speedy answer. However,
The VariableNames property must be a cell array, with each element containing one nonempty character vector.
Your code does not use table objects so it is not clear why you have that error.

Sign in to comment.

 Accepted Answer

hdr = arrayfun(@(x) sprintf('L_conv_%f', x), wl_arr, 'unif', 0)

3 Comments

thanks Bruno.
can i limit the number of dp printed in the header?
Play with the format
hdr = arrayfun(@(x) sprintf('L_conv_%3.1f', x), wl_arr, 'unif', 0)
great thanks!

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!