[英]Plot Cumulative Distribution Function (logarithmic x-axis / y-axis) in MatLab
[英]How do I plot a custom function with logarithmic scaling of x-axis
我是Matlab的新手。 我要做的就是繪制從0
到10
的序列x = @(n) 1/n^n
。 首先使用自然縮放,然后使用x軸的對數縮放。
我嘗試將semilogx
用於第二個情節。 但是,我總是收到一條錯誤消息:
類型為“ function_handle”的輸入參數的未定義函數“ semilog”。
如果我嘗試通過以下方式定義x
: n = 0:.01:10; x = 1/n.^n;
n = 0:.01:10; x = 1/n.^n;
我收到錯誤消息:
矩陣尺寸必須一致
如何定義x
並繪制兩個圖?
在您的情況下,n是向量,因此必須首先使用Matlab數組運算符定義除法和冪運算的匿名函數,如下所示:
x = @(n) 1./n.^n
然后舉個例子:
n = [0:.01:10];
現在進行繪圖:
figure; semilogx(n,x(n)); grid on;
這給出了如下圖:
x = @(n) 1./n.^n
n = 0:.01:10;
semilogx(x(n))
您需要添加一個.
在/
之前:
n = 0:.01:10; x = 1./n.^n;
plot(n,x)
figure
semilogx(n,x)
在您的代碼中, 1/n.^n
被解釋為“ n.^n
的倒數”,其中n.^n
是向量; 向量的逆是不確定的。 您想要的是該向量的逐元素逆,為此,您需要extra .
在/
之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.