在对数域中用负值绘制误差线(Matlab)
我有一个向量,称为x,其中包含我根据平均值计算得出的非常小的数字。我想绘制x的对数变换,例如y = 10 * log10(x),以及等于平均值的±2个标准差的误差线。
为此,我使用以下代码:
figure errorbar(lengths, 10*log10(x), ... 10*log10(x-2*std_x), 10*log10(x+2*std_x), 'o') 我的问题是,由于x包含如此小的值,因此x-2 * std_x通常为负数,并且您不能取负数的对数。
所以我想我的问题是,当减去线性域中的标准差得到负数时,如何在对数域中绘制误差线?我不能做+-
回答:
您可以将这些值替换为一个较小的值但可记录(例如降低40 dB):
minb = x-2*std_x; mask = (minb
|