2016-02-13 72 views
-1

我定義了兩個函數,其中第二個函數是工廠函數。圖形化參數函數(matplotlib)

def bear(S,K): 
    if S <= K: 
     value = K 
    elif K < S and S < 2*K: 
     value = 2*K - S 
    else: 
     value = 0 
    return value 

def makeBear(K) 
    def bear1(x): 
     return bear(x,K) 
    return bear1 

我試圖從SK= 100 < S <的功能(某些整數,b)產生的曲線圖。

我也想表明它用自己的y軸範圍,說[c, d]

我試圖從中學習的例子沒有不平等。

我很難將他們的代碼與我自己的代碼相關聯。

我發現,做以下控制檯:

makeBear10 = makeBear(10) 
makeBear10(0) 
makeBear10(1) 
makeBear10(2) 

等等

給我圖上的點,但我必須這樣做的更小,更清潔的方式。

+1

我不能完全肯定這裏的問題是什麼。如果你想要一個關於如何繪製x,y值的教程,這個問題太廣泛了。你可以谷歌。如果問題是如何獲取值,那麼(例如10個值)'x = range(10); y = [makeBear10(val)for val in x]'? – timgeb

+0

我基本上需要繪製一個圖,x軸上的x爲0-30,y軸上的makeBear10(x)。然而,你的答案已經幫助了很多。我只需要知道如何設置自己的y軸限制,在我的情況[-1,11]。我認爲它接近plt.axis [-1,11],但我會盡力找出一個 –

回答

0
  • ü可以嘗試linspace命令

Y = linspace(X1,X2)返回x1和x2之間100個均勻地間隔開的點的行向量。

例如

Y = linspace(X1,X2,n)的生成n個點。點之間的間隔是(x2-x1)/(n-1)。

linspace與冒號操作符「:」類似,但可直接控制點數並始終包含端點。名稱「linspace」中的「lin」是指產生線性間隔值,而不是產生對數間隔值的同級函數對數空間。

實例

矢量均勻間隔數的 在區間[-5,5]創建的100個均勻地間隔開的點的向量。

y = linspace(-5,5); 具有指定數量值的向量 在區間[-5,5]中創建7個均勻間隔點的向量。

Y1 = linspace(-5,5,7) Y1 =

-5.0000 -3.3333 -1.6667 0 1.6667 3.3333 5.0000