2011-11-24 537 views
1

我想繪製移位對數函數,如from Wolfram Alpha所示。Matlab繪製移位對數函數

特別地,我想的功能是這樣的形式的

y = exp(x - t)/(1 + exp(x - t)) 

其中t> 0。在鏈路,例如,t是6我原本試過如下:

x = 0:.1:12; 
y = exp(x - 6) ./ (1 + exp(x - 6)); 
plot(x, y); 
axis([0 6 0 1]) 

但是,這與Wolfram Alpha的結果並不相同。這是一個export of my plot

我不明白我在這裏試圖做什麼與繪製移位的正弦和餘弦函數(它使用相同的技術)之間有什麼區別。

我並不是全新的Matlab,但我通常不以這種方式使用它。

編輯:我的代碼x值應該是從0到12

+0

您能否向我們提供您的預期輸出和當前輸出的圖像?我不確定什麼「看起來不一樣」真的意味着什麼。 – Blender

+0

預期輸出位於[Wolfram Alpha]的第一個鏈接(http://www.wolframalpha.com/input/?i=plot%20y%20=%20e^%28x%20-%206%29%20/ %20%281%20%圖2b%20E ^%28X%20-%206%29%29%20for%20X%20from%200%20to%2012)。我得到的輸出是在[我的圖的輸出](http://i.imgur.com/Q5Bzm.png)中。我應該補充一點,我使用從0到20的x在我的圖的輸出中,但是我希望能夠繪製t> 0的任何值。 – tsliwkan

回答

1

fplot需要作爲輸入的功能句柄和範圍繪製爲:

>> fplot(@(x) exp(x-6)/(1 + exp(x-6)), [0 12])

Function of interest

fplot在這種情況下,美是你不需要花費時間和計算y預先設定的價值;如果需要,也可以從圖中提取值(通過獲取line handleXDataYData屬性)。

+0

非常好,這正是我所尋找的和更多!對於那些有興趣從繪圖中獲得x和y值後,請參閱[本文](http://www.mathworks.com/support/solutions/en/data/1-1RIH3C/index.html?溶液= 1-1RIH3C)。 – tsliwkan

0

你輸入Wolfram Alpha的是不正確。它被解釋爲e*(x-6)/(1-e*(x-6))。在Wolfram Alpha中使用plot y = exp(x - 6)/(1 + exp(x - 6)) for x from 0 to 12(參見here)獲得與MATLAB中相同的結果。還可以使用axis([0 12 0 1])(或者在新圖上沒有軸語句)來查看MATLAB中的完整結果。

回覆您的評論:使用y = exp(1)*(x - 6) ./ (1 + exp(1)*(x - 6));在MATLAB中做什麼你在Wolfram Alpha做什麼。

+0

我想要在Matlab中將最初解釋爲WA的圖解繪製出來。 – tsliwkan

+0

@slikz:看看我的編輯,它顯示瞭如何在MATLAB中做到這一點,但它看起來不像一個邏輯功能。 – Ramashalanka

+0

我不確定編輯中的功能是否有效。 [這是輸出](http://i.imgur.com/sizV1.png),我現在得到。 – tsliwkan