2011-11-24 534 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