MATLAB绘图中文显示为方框

MATLAB绘图中文显示为方框

MATLAB显示英文和字母没有问题,但是当显示中文时会显示乱码,中文显示为方框,如下图:

可以在绘图命令中添加如下代码:

set(gca,'Fontname','Monospaced');

例如:

% 滤波器系数%低通(直接II型4阶、Fs = 1.8e6Hz、Fc = 1.0e4Hz)(阶跃超调)
b = [  8.869059018931e-08, 3.547623607572e-07, 5.321435411359e-07, 3.547623607572e-07,  8.869059018931e-08];
a = [1,   -3.908786943705,    5.730497730452,   -3.734525571664,     0.9128162039662];
% 滤波器系数,乘以(2.^26)之后:
Bn = [6,    24,    36,    24,     6];
An = [0,-262314251,   384567193,  -250619769,    61258058];
% % % % 滤波器的幅值响应和相角响应
[H, w] = freqz(b,a);
figure('Name','4阶低通b,a滤波器的频率响应')
subplot(211)
plot(Fs*w/(2*pi), abs(H), 'linewidth',1);
xlabel('频率/Hz'); ylabel('幅值/'); grid on
title('幅频特性');
set(gca,'Fontname','Monospaced');
subplot(212)
plot(Fs*w/(2*pi), angle(H)*180/pi, 'linewidth',1)
xlabel('频率/Hz'); ylabel('相位/^o'); grid on
title('相位特性');
set(gca,'Fontname','Monospaced');

==================START========================================

在MATLAB画图时中文显示乱码的解决办法

打开MATLAB创建一个startup.m文件,输入如下代码

function startup
set(0,'DefaultTextFontname','Monospaced')
set(0,'DefaultAxesFontname','Monospaced')
end

Monospaced可以替换为其他想要的字体,比如"宋体",但是一定要在matlab中粘贴这段代码,不要新建文本文档粘贴代码后修改后缀为.m,否则可能因为编码格式造成设置失败。将这个.m文件保存下来,然后把这个文件复制到MATLAB安装路径下的bin文件目录中,如图所示,这样每次启动MATLAB时会自动运行这个文件。

之后打开MATLAB点击主页中的设置路径,此时startup.m文件已经复制到MATLAB安装路径下的bin文件了,将这个bin路径添加进去,如图所示。

设置完成后点击保存,再点击关闭,然后重新启动MATLAB(重启重启重启!),再运行程序,就可以看到乱码的部分已经正常显示文字了。

原文链接:在MATLAB画图时中文显示乱码的解决办法_matlab跑别人的代码出来的图是乱码-CSDN博客

==================END==========================================

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值