2012-10-19 84 views
-2

我試圖寫一個函數,然後繪製它。我是python的新手,並且遇到了一些麻煩。我必須缺少信息,只是不知道在哪裏。誰能幫忙?故障繪圖功能

xv= arange(-4,5,1) 
def f(x): 
    if (x<0): 
     return log(x) 
    elif (0<=x<2): 
     return (-x) 
    elif (2<x): 
     return x**2/(3-x) 

xv= arange(-4,5,1) 
y1= log(x) 
y2= (-x) 
y3= x**2/3-x 

fig1=figure() 
plot(xv,y1,y2,y3) 
show() 
+3

您需要具體解釋問題所在。它會引發錯誤嗎?如果是這樣,有什麼錯誤?它不是做你想做的事嗎?如果是這樣,你想要什麼,它做什麼呢? – BrenBarn

+0

對不起,第一部分是我定義函數的時候。我沒有任何sntax錯誤,但它也沒有返回任何東西。我正在尋找從if語句和三個方程返回的數字。那麼我在問題的第一部分中錯過了什麼? – Bill

+0

你需要調用函數來取回某些東西... –

回答

1

也許你正在嘗試做以下:

import numpy as np 
import matplotlib.pyplot as plt 

x = np.arange(-4, 5, 1) 
y = np.sin(x) 

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 
ax.plot(x, y) 
plt.show() 

在您的例子,它看起來像你也試圖採取log(x)?如果是這種情況,請記住,在數學上,log(x)是複雜的,如果x < 0

希望這會有所幫助。