matlab - 在具有负值的对数域中绘制误差线 (Matlab)

标签 matlab plot logarithm

我有一个向量,称之为 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 通常是一个负数,您不能取负数的对数。

所以我想我的问题是,当减去线性域中的标准偏差得到负数时,如何在对数域中绘制误差线?我不能做 +-

最佳答案

实际上你错误地调用了errorbar。你应该打电话

figure
errorbar(lengths, 10*log10(x),10*log10(2*std_x), 'o')

如果 std_x 太小而无法工作,您可以通过从 10*log10(x-2) 绘制垂直线来编写您自己的 errorbar 版本*std_x)10*log10(x+2*std_x)

关于matlab - 在具有负值的对数域中绘制误差线 (Matlab),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393868/

相关文章:

matlab - 正态分布的峰度

matlab - 如何在Matlab中从Dictionary.com下载MP3文件?

r - 如何在单个 ggplot2 中对齐图层(密度图和垂直线)

python - 在 matplotlib pcolor 图上设置正确对齐的轴标签

charts - Highcharts:以对数刻度显示零值

matlab - 从另一个静态方法中调用 matlab 静态方法

loops - MATLAB:循环调用 .m 文件

r - 使用facet_wrap时在ggplot2中使用具有不同比例因子的辅助y轴

algorithm - 这个算法的复杂度是如何对数的?

r - 如何反转 log2 变换