新电脑安装MATLAB2017b之后打开以往的代码,图形窗口上显示的文字都是乱码 ,乱码情况如下
legend('参考节点坐标','未知节点估计坐标','未知节点实际坐标');
可以看到,本应该显示legend中的文字,结果变成乱码。
主要原因是因为MATLAB的坐标axes的默认字体变成了Helvetica,这种字体不支持中文,所以总是在画图时显示为乱码或方框。找了很多方法,有的还是不管用。东拼拼西凑凑给解决了,解决方法如下:
打开MATLAB创建一个startup.m文件,输入如下代码
function startup
feature('DefaultCharacterSet','UTF-8');
set(0,'DefaultTextFontname','宋体')
set(0,'DefaultAxesFontname','宋体')
end
将这个.m文件保存下来,然后把这个文件复制到MATLAB安装路径下的bin文件目录中,如图所示,这样每次启动MATLAB时会自动运行这个文件。
之后打开MATLAB点击主页中的设置路径,此时startup.m文件已经复制到MATLAB安装路径下的bin文件了,将这个bin路径添加进去,如图所示。
设置完成后点击保存,再点击关闭,然后重新启动MATLAB(重启重启重启!),再运行程序,就可以看到乱码的部分已经正常显示文字了,如图所示