科学网

 找回密码
  注册

tag 标签: 详细

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[转载]【转载】Newton Raphson算法
peterrsong 2012-12-26 09:56
姣姣贝贝 如下描述: 在科学计算和财经工程领域,许多数值算法都是通用的(至少在理论上是),可广泛地用于解决一类问题。一个大家熟悉的例子就是Newton-Raphson例程,它可用来寻找方程f(x)=0的数值解。标准的数学表达式f(x)表示f是变量x的函数,其通常的表达形式为f(x,a,b,...)=0,f被定义为多于一个变量的函数。在这种情况下,Newton-Raphson算法试图把x以外的变量固定并作为参数,而寻找关于变量x的数值解。 由于Newton-Raphson算法需要知道被求解函数的确切表达,其传统实现方法是直接将代码嵌入到客户应用程序中。这就使得算法的实现代码经过针对不同被求解函数的少量修改后在客户程序中反复出现。 同许多其它数学例程一样,Newton-Raphson算法的具体实现是应该与特定用户无关的。并且,重复编码在任何情况下都应该尽量避免。我们很自然地会想到把该类例程作为库函数来实现,以使客户程序可以直接调用它们。但是,这种实现方式必然会涉及到如何将用户自定义函数(Newton-Raphson 例程需要调用该函数)封装成可以作为参数传递的形式。 一蓑烟雨的专栏 详细解说了Newton Raphson(NR)算法,如下: Newton-Raphson算法在统计中广泛应用于求解MLE的参数估计。 对应的单变量如下图: 多元函数算法: Example:(implemented in R) #定义函数f(x) f=function(x){ 1/x+1/(1-x) } #定义f_d1为一阶导函数 f_d1=function(x){ -1/x^2+1/(x-1)^2 } #定义f_d2为二阶导函数 f_d2=function(x){ 2/x^3-2/(x-1)^3 } #NR算法  NR=function(time,init){ X=NULL D1=NULL #储存Xi一阶导函数值 D2=NULL #储存Xi二阶导函数值 count=0 X =init l=seq(0.02,0.98,0.0002) plot(l,f(l),pch='.') points(X ,f(X ),pch=2,col=1) for (i in 2:time){ D1 =f_d1(X ) D2 =f_d2(X ) X =X -1/(D2 )*(D1 ) #NR算法迭代式 if (abs(D1 )0.05)break points(X ,f(X ),pch=2,col=i) count=count+1 } return(list(x=X,Deriviative_1=D,deriviative2=D2,count)) } o=NR(30,0.9) 结果如下图:图中不同颜色的三角形表示i次迭代产生的估计值Xi o=NR(30,0.9) #另取函数f(x) f=function(x){ return(exp(3.5*cos(x))+4*sin(x)) } f_d1=function(x){ return(-3.5*exp(3.5*cos(x))*sin(x)+4*cos(x)) } f_d2=function(x){ return(-4*sin(x)+3.5^2*exp(3.5*cos(x))*(sin(x))^2-3.5*exp(3.5*cos(x))*cos(x)) } 得到结果如下: Reference from: Kevin Quinn Assistant Professor Univ Washington
个人分类: 算法|3130 次阅读|0 个评论
【详细统计】哪些人阅读了自己的博文
热度 10 outcrop 2012-4-20 10:52
蒋叔的博文最近看起来很火,刚刚发布点击量就很大;我认为是粉丝太热情,但蒋叔还不够自信,于是就想到一个过硬的验证方法——用博文访问统计数据说话——本文的统计方法也适合其他博主。 科学网目前的博文浏览量统计采用的是比较保守的算法,我初步判断是没有计算网络蜘蛛等不解析javascript的访问量;也就是说,每个浏览量,正常情况下应该都是人的浏览。虽然科学网有整个网站的统计数据,但目前并不能独立统计某篇博文的浏览详情,因此只有自己动手了。 为了确定到底有哪些IP访问了某篇博文,可以用第三方统计代码来实现。一般步骤是: 申请统计代码 。免费的统计代码很多,比如Google分析、百度统计(科学网官方的统计系统就是)、站长统计,51la等等;我手头刚好有闲置的 www.51.la 这个的统计系统账号,就拿这个举例;如何申请就不细说,体力活。 在博文中加入统计代码 。统计代码的插入方式有很多种,但我推荐使用图片方式。在51.la的统计系统“获取统计代码”链接中的“特殊用途代码”第一个,可以找到;其中有效的统计代码只是一个图片链接,我们可以提取,便于添加;比如我账号的有效统计代码图片是http://img.users.51.la/2806951.asp。编辑博文时,使用编辑器工具条中“引用图片”功能,把这个代码当作图片来引用,放在文章后面就行,见本文末示例的“我要统计”图片。要是懒得申请统计系统,也可以直接插入我这个账号的统计代码,但查看的时候得细心点才能找到自己的博文网址。 查看统计 。自己申请的统计系统,登录查看就是;直接用我这个统计的话,统计查看地址是: http://www.51.la/report/1_main.asp?id=2806951 可以在左侧工具栏细细查看相关统计数据。为了举例,我设置我的这个统计开放浏览,任何人可以查看统计数据;也可以设置为凭密码浏览统计数据,或者不公开统计数据。 到此,您就可以对自己的博文进行专业的访问统计了——51.la就是一个专业的网站统计系统,俺可以负责的说——当然,只有插入统计代码的才有效。 这个统计也不能做到精确统计,有很多原因,这里就不细说;但作为大致的参考,是没问题的。 我的统计代码效果显示(实际上是一个显示“我要统计”四个字的图片): 显示结束。 【 点击这里可以查看我的博文的访问统计 】;看看来自五湖四海的朋友浏览自己的博文,还是很好玩的~ 参赛博文,要是您觉得有点意思,拜托不吝推荐 =============================关于博主============================= 博主的主要兴趣是:知识管理;相关兴趣有:语义网、机电及DIY、哲学与心理、信息安全、科幻等。 我的常用博客在科学网 (访问可点链接,下同); 新浪微博是@outcrop ,欢迎互粉;建了一个超级QQ群:17662971,希望能闲聊无白丁,欢迎加入;自己打理着一个 机电工程师 小网站,欢迎来玩。无宗教信仰,提倡动物保护。最近在科学网关注“ 科学网大学 ”,欢迎加入 科学网大学群组 讨论、尝试。
个人分类: 计算机应用技术|4128 次阅读|24 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 00:05

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部