我有一个双{52x1}的单元格,我想连接符号±的每个元素。
我遇到的问题是sprintf不支持Matlab代码\ pm来调用符号。
欢迎任何帮助!
答案 0 :(得分:3)
\pm
是一个TeX / LaTeX命令,仅当Matlab使用的解释器理解LaTex时才会给出±
。例如,当TickLabelInterpreter
属性设置为'tex'
时,会在轴标签中发生这种情况。
在sprintf
中,您可以直接使用±
符号(代码点177)。例如,
x = num2cell(rand(5,1)); % cell array of numbers
sprintf('±%f\n', [x{:}])
或
sprintf([177 '%f\n'], [x{:}])
给出
ans =
±0.126987
±0.913376
±0.632359
±0.097540
±0.278498
请注意,我必须将数字的单元格数组转换为数字向量,以便将其传递给sprintf
。考虑直接将数据定义为数字向量以避免该步骤。
如果你想要一个字符串的单元格数组:
cellfun(@(t) sprintf([177 '%f\n'], t), x, 'UniformOutput', false)