绘制相同的方程式但不同的图形。升

Plotting same equation but different graph. l

我尝试用指数函数 f(x) = exp( x ) 在 a = 0 和 n = 1 处绘制泰勒展开图。

起初,我写了等式#### n = 1并绘制了它。但它无法将线拟合到 Exp(x) 的图形。我尝试将符号“+”重新定位到上一行,如等式 # n = 1 所示,它奏效了。

除了运算符 (+) 的位置不同,这些方程式完全相同。

用于绘图的方程式(#### n = 1# n = 1)有何不同?

绘图中运算符号的位置重要吗?

f1 <- function(x) exp( x )
x <- seq( -1, 1, by = 0.025 )


a <- 0

#### n = 1
f1.10 <- function( x ){
  exp( a ) / factorial( 0 ) * ( x - a )^0 
  + exp( a ) / factorial( 1 ) * ( x - a )^1
}


# n = 1
f1.1 <- function( x ){
  exp( a ) / factorial( 0 ) * ( x - a )^0 +
    exp( a ) / factorial( 1 ) * ( x - a )^1
}



plot( x, exp(x), ylab = "exp(x)", type = "l", lwd = 3 )
curve( f1.1, -0.5, 0.5, add = T, type = "l", lwd = 2, col = "yellow" )
curve( f1.10, -0.5, 0.5, add = T, type = "l", lwd = 2, col = "blue" )

]1

在R中,行头的+表示换行。如果将 + 放在行尾,R 会将脚本中的下一行识别为当前行的延续。
所以,

f1.10 <- function( x ){
  exp( a ) / factorial( 0 ) * ( x - a )^0 
  + exp( a ) / factorial( 1 ) * ( x - a )^1
}

相同
f1.11 <- function( x ){
  exp( a ) / factorial( 1 ) * ( x - a )^1
}

这两个函数产生不同的结果,而且它们并不相同。

f1.10(seq(10))
#[1]  1  2  3  4  5  6  7  8  9 10
f1.1(seq(10))
#[1]  2  3  4  5  6  7  8  9 10 11

当 n 是 1 f1.10 产生 1f1.1 产生 2 或者我们甚至可以产生一个介于 -0.5 和 [=17 之间的随机数=] 如下所示,看看它们是否产生相同的结果。

set.seed(777)
x <- runif(100, min = -0.5, max = 0.5)
min(f1.10(x))
#[1] -0.4940781
max(f1.10(x))
#[1] 0.4950499
min(f1.1(x))
#[1] 0.5059219
max(f1.1(x))
#[1] 1.49505

您可以看到 f1.10 被限制在 -0.50.5 之间,而 f1.1 则不是。