在Matlab中打印非ASCII /符号字符

时间:2013-11-07 20:06:55

标签: matlab unicode symbols printf

我想发表一个声明:

my_angle = 1*pi;
fprintf('My angle is %.3f pi.\n',my_angle/pi);

但是这产生了My angle is 1.000 pi,而不是实际的π字符。

我在想某种使用Unicode的方法......

我找到了一些相关的东西:

2 个答案:

答案 0 :(得分:4)

我不知道如何使用fprintf,但sprintf有效 - 只需不用分号:

sprintf('My angle is %.3f %c.\n',my_angle,char(960))

或者您可以使用disp

disp(['My angle is ' num2str(my_angle,'%.3f') ' ' char(960) '.']);

答案 1 :(得分:-1)

答案取决于您的操作系统。在Windows上,Matlab使用的windows-1252字符集非常有限。我认为char的值大于255,你什么都没有/正方形。在Linux上,您可以使用完整的UTF8字符集,并可以将char与您想要的任何值一起使用。