2017-05-07 14 views
0

通過給某些輸入參數一個值,在二維圖中繪製多個變量函數的最簡單方法是什麼?讓我們考慮一個簡單的例子如何通過初始化所有變量而在R中繪製多個變量的函數

my.function<-function(a,b,x){a*x^2+b}

現在我要繪製的簡單的拋物線,其中a=1一個b=0。所以我定義了一個新功能: new.function<-function(x){my.function(1,0,x)}; plot(new.function)

有沒有什麼辦法可以在沒有定義new.function的情況下繪製函數?

通常我用數學和數學中這將是:

Plot[my.function[1,0,x],{x ... }]

+2

基本上在R上的相同'情節的人的最好方法(函數(X){my.function(1,0,X)})' – G5W

+2

或者你可以像曲線一樣使用'curve(my.function(1,0,x),from = 0,to = 10)' 。 – lmo

回答

1

你不應該需要定義一個新的功能。您可以使用原有的功能,my.function,以及1至10中的x值傳遞給繪製拋物線:

my.function <- function(a,b,x){a*x^2+b} 
x <- 1:10 
y <- my.function(a=1,b=0,x=x) 
plot(y~x) 
+1

該函數是矢量化的,所以不需要'sapply'。 'y < - my.function(a = 1,b = 0,x = 1:10)'工作正常。 – Gregor

+0

感謝您指出。我編輯了我的帖子。沒有'sapply()'就簡單多了。 –

0

對於未來的讀者,我分享@ G5W的批評是對的答案在這裏:

plot(function(x) { my.function(1,0,x) })

我相信這是在這裏提供