matlab自带的对数显示命令set(*****‘log’),我用的时候并不太好用,所以自己写了一个。本人新手,对于编程并不精通,所以有更好的建议或者问题,欢迎指正批评。另外写小作文主要是为了培养自己对于编程的兴趣以及提升写作汇报能力。
这个代码需要自行更改的地方就是‘fs'
num_tick = 10; %%定义刻度数量(不包括0刻度)
lfs_1 = log2(fs);
df = (max(lfs_1)-min(lfs_1))/(length(lfs_1)-1);
lfs_2 = min(lfs_1):df*((length(lfs_1)-1)/num_tick):max(lfs_1);
lfs_3 = 2.^lfs_2;
yti = 0:max(fs)/num_tick:max(fs);
yla = num2str(lfs_3');
set(gca,'ytick',yti')
set(gca,'yticklabel',yla)
上述的‘fs'就是所求的对数值,取对数的好处就是在面对有些数据变化幅度过大,尤其含有零点零几的数据时,能够在图像上更好的展示曲线变化。关于对数或者线性取值的优缺点,本人理解不全面,仅是自己有时候会用到,所以过多不进行描述。
如下第一张图是某数据取线性值时的结果图,当然可以通过命令‘axis([])’来进行截取,但这样每次成图都要观察后自主进行截取,因为有时得出的结果最大值不一致,盲目截取会导致有效值被截掉。

接下来第二张图就是取对数值时的结果图,它可以特别地突出展示数值在极小值时的微小变化。

作者分享了如何使用Matlab自定义对数显示命令,以优化处理数据变化过大,特别是零点零几的数据。通过对比线性值和对数值图像,展示了对数取值在突出极小值变化方面的优势。此内容旨在提升编程兴趣和写作汇报能力。

2755

被折叠的 条评论
为什么被折叠?



