w**********n 发帖数: 29 | 1 以前用R写的程序太慢了,现在学着转到C里面写。在R里我用到optimization function
, like nlminb, nlm.现在到C++里面,我应该用什么optimizaition function 做呢?
比如:
In R:
y <- function(x,a) sum((x-a)^2)
n <- 100
a_in <- rnorm(n)
fmin <- nlm( y, rep(0,n),a=a_in)
x_min <- fmin$estimate
In C/C++:
同样的过程C如何做呢?--head file, function name
多谢大伙的帮助! | d******e 发帖数: 7844 | 2 十分好奇,你用C/C++写过程序么?
function
【在 w**********n 的大作中提到】 : 以前用R写的程序太慢了,现在学着转到C里面写。在R里我用到optimization function : , like nlminb, nlm.现在到C++里面,我应该用什么optimizaition function 做呢? : 比如: : In R: : y <- function(x,a) sum((x-a)^2) : n <- 100 : a_in <- rnorm(n) : fmin <- nlm( y, rep(0,n),a=a_in) : x_min <- fmin$estimate : In C/C++:
| s****r 发帖数: 125 | 3 C++不是R,默认只有很基本的数学库,连mean,std都要自己写
你要用c++做optimization的话得自己从网上找别人开发好的library来用。而且我猜测
nlminb已经是R在调用c++的library了。 不过我不是很确定。如果是非优化的地方慢,
我觉得你应该用matlab更好一些,毕竟写起来比c++方便太多了。
function
【在 w**********n 的大作中提到】 : 以前用R写的程序太慢了,现在学着转到C里面写。在R里我用到optimization function : , like nlminb, nlm.现在到C++里面,我应该用什么optimizaition function 做呢? : 比如: : In R: : y <- function(x,a) sum((x-a)^2) : n <- 100 : a_in <- rnorm(n) : fmin <- nlm( y, rep(0,n),a=a_in) : x_min <- fmin$estimate : In C/C++:
| w**********n 发帖数: 29 | 4 谢谢大家的评论。我是C++非常入门的新手,开始以为C++里面有这样的library直接用
就好了。看来没那么简单啊。。。。
因为在R里要做MCMC, 所以比较慢,所以想在C++里面写循环。但是这一块程序里面需要
用nlminb,所以才想问C++如何写。
各位若是有这方面的经验,请指教啊~~谢谢啦。 | n*****n 发帖数: 3123 | 5 我忍了半天,终于没说出来
还是你直接, hehe
【在 d******e 的大作中提到】 : 十分好奇,你用C/C++写过程序么? : : function
| d******e 发帖数: 7844 | 6 非常入门就不要搞了.
查了一下,nlminb使用fortran实现的,而且作者来自贝尔实验室.
就算是个熟悉C/C++得人也未必能做出来更快的,何况是新手了.
【在 w**********n 的大作中提到】 : 谢谢大家的评论。我是C++非常入门的新手,开始以为C++里面有这样的library直接用 : 就好了。看来没那么简单啊。。。。 : 因为在R里要做MCMC, 所以比较慢,所以想在C++里面写循环。但是这一块程序里面需要 : 用nlminb,所以才想问C++如何写。 : 各位若是有这方面的经验,请指教啊~~谢谢啦。
| g**********t 发帖数: 475 | 7 可以用Gnu Scientific Library。如果是Unconstrained optimization比较简单,可
以直接用里面的函数,如果变量有界,可以尝试对变量进行变换转化为Unconstrained optimization。如果导数无解析解,可以尝试用Numerical Differentiation。
http://www.gnu.org/software/gsl/manual/html_node/One-dimensiona
http://www.gnu.org/software/gsl/manual/html_node/Multidimension | w**********n 发帖数: 29 | 8 太棒了!等下我试试。多谢!
Unconstrained optimization。如果导数无解析解,可以尝试用Numerical
Differentiation。
【在 g**********t 的大作中提到】 : 可以用Gnu Scientific Library。如果是Unconstrained optimization比较简单,可 : 以直接用里面的函数,如果变量有界,可以尝试对变量进行变换转化为Unconstrained optimization。如果导数无解析解,可以尝试用Numerical Differentiation。 : http://www.gnu.org/software/gsl/manual/html_node/One-dimensiona : http://www.gnu.org/software/gsl/manual/html_node/Multidimension
|
|