2016-01-27 76 views
1

所以我有這數據,我想上loglog尺度作圖,與y軸的線性值,並在x軸上,以dB值和雙對數曲線圖的線性蜱上x軸

loglog(EbN0,BER) 

輸出一個很好看的曲線,但問題是軸的滴答聲。在y軸上沒問題,但x軸只有一個刻度,在10^0處沒有其他刻度。此外,該刻度對應於絕對值,而不是dB​​值。任何方便的方法來完成這個?

(注意這兩個EbN0和BER含有絕對值)

編輯:我要添加數據,並解釋什麼,我想多一點。

EbN0 = 

    Columns 1 through 14 

0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000 6.5000 7.0000 

    Columns 15 through 20 

7.5000 8.0000 8.5000 9.0000 9.5000 10.0000 

BER_TOT_ITER = 

    Columns 1 through 14 

    0.2928 0.2024 0.1183 0.0511 0.0164 0.0046 0.0010 0.0003 0.0001   0 0.0000 0.0000 0.0000   0 

    Columns 15 through 20 

     0   0   0   0   0   0 

如果我做plot(10*log10(EbN0),10*log10(BER_TOT_ITER)),我居然得到正是我想要的圖形,並在x軸的分貝值,但現在在Y蜱dB顯示的,而不是絕對值,所以,我只是想重新標記y刻度,而不是重新調整數字。

+0

您可以通過像'設置(GCA設置XTICK間隔, 'XTICK',someRange:someRange或[tick1,tick2,tick3 ...])' – GameOfThrows

+0

您正在使用哪種版本的MATLAB(或'HG')? –

+0

@ Dev-iL R2015b。 –

回答

4

重新標記刻度在這裏確實是錯誤的方法。你會用字符串替換數值,並調整大小等不再工作。 此外,您的數據並不適合您實際正在查看的內容。 您應該始終嘗試先轉換數據。

所以除了loglog看看semilogxsemilogy,它允許你有一個單一的對數軸。

綜上所述,你要找的是什麼:

semilogy(10*log10(EbN0), BER_TOT_ITER) 
+0

True - 我認爲這是正確的方法,但在回答這個問題時,OP確實詢問了如何格式化蜱,這就是爲什麼我要評論如何格式化Xticks。 – GameOfThrows

+0

這是完美的。 –

+0

@GameOfThrows他問,因爲他不知道'semiloxy';) – thewaywewalk