你看看optimize的帮助例如:?optimize
然后S-Plus会给你一些Examples
<br />
quadratic <- function( x, c2, c1, c0) {c0 + x*(c1 + x*c2)} <br />
optimize(quadratic, interval = c(1,3), max = T, <br />
keep.xy = T, c2 = -1, c1 = 4, c0 = 0) <br />
quadratic <- function( x, c2, c1, c0, nf = 0, <br />
all = list( x = NULL, y = NULL)) <br />
{value <- c0 + x*(c1 + x*c2) <br />
attributes(value) <- list( nf = nf + length(x), <br />
all = list( x = c(all$x, x), y = c(all$y, value))) <br />
value} <br />
optimize(quadratic, lower = 1, upper = 3, max = T, c2 = -1, c1 = 4, c0 = 0)<br />
第一个optimize求出的结果如下:
<br />
> optimize(quadratic, interval = c(1,3), max = T, <br />
+ keep.xy = T, c2 = -1, c1 = 4, c0 = 0) <br />
$maximum:<br />
[1] 2<br />
<br />
$objective:<br />
[1] 4<br />
<br />
$nf:<br />
[1] 6<br />
<br />
$interval:<br />
[1] 1.999959 2.000041<br />
<br />
$message:<br />
[1] "normal termination"<br />
<br />
$aux:<br />
list()<br />
<br />
$call:<br />
optimize(f = quadratic, interval = c(1, 3), maximum = T, keep.xy = T, c2 = -1, c1 = 4,<br />
c0 = 0)<br />
<br />
$x:<br />
[1] 1.763932 2.236068 2.055728 2.000000 1.999959 2.000041<br />
<br />
$y:<br />
[1] 3.944272 3.944272 3.996894 4.000000 4.000000 4.000000<br />
$maximum就是y取极值时x的取值,$objective就是y的极值
你直接把似然函数写出来吧,上面的式子我似乎没看懂是啥意思…… 或者你自己要是明白求极值的函数了就自己写程序算吧,俺先吃饭去了