楼主: furoo926
10143 5

[学科前沿] 一个方程的求解,数值解 (R语言编写的) [推广有奖]

  • 0关注
  • 6粉丝

高级会员

已卖:861份资源

博士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
8073 个
通用积分
29.6700
学术水平
6 点
热心指数
9 点
信用等级
3 点
经验
3535 点
帖子
105
精华
0
在线时间
338 小时
注册时间
2005-6-19
最后登录
2025-7-11

楼主
furoo926 发表于 2010-6-22 15:31:55 |AI写论文
100论坛币
求解方程的数值解,已经有了第一部计算,现在的问题是 迭代计算 ,因为迭代计算我不太懂,所以程序也不会编
f(x)=0
x(k+1)=x(k)-{J(x(k))}^(-1)*f(x(k)), k=0,1,2….
其中J和f已经计算出来了,这个Newtons迭代函数编写如下?
Newtons<-function (funs, y, ep=1e-5, it_max=100){
index<-0; k<-1
while (k<=it_max){
y1 <- y; obj <- funs(y);
y<- y-solve(obj$J, obj$f);

........
其中要迭代的函数:
funs<-function(x){
。。。
f<- c(。。,。。。) #这是f(.)
J<- matrix(,..,….,…,
nrow=2, byrow=T)
# Jacobi矩阵 j(.)
return(
list(f=f, J=J))
}
要迭代部分函数是正确的,运行问题在于:
错误于drop(.Call("La_dgesv", a, as.matrix(b), tol, PACKAGE = "base")) :
  Lapack例行程序dgesv: 系统正好是奇异的
是不是迭代函数存在问题啊,谢谢了

最佳答案

cugwh 查看完整内容

你这个可能是迭代函数的问题,检查下函数,特别是J和F。
关键词:R语言 数值解 Newton 迭代计算 WTO

本帖被以下文库推荐

沙发
cugwh 发表于 2010-6-22 15:31:56
你这个可能是迭代函数的问题,检查下函数,特别是J和F。

藤椅
Isscaliu 发表于 2010-6-22 15:54:30
看起来有点像是期权定价B-S的东西。不过没看明白你的Rcode。用到numerical analysis的东西,外加Jacobian变换
R有求解的一些package自己试试看!爱莫能助。有完整的code的话或者简单的说明也许我可以帮你想想算法!
建议试一下nls或者uniroot之类的。或在翻翻R的文档看看!
已有 1 人评分学术水平 热心指数 收起 理由
furoo926 + 1 + 1 谢谢热心帮助

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

It was the best of times, it was the worst of times.

板凳
furoo926 发表于 2010-6-22 16:20:24
十分感谢,我刚才给您站内短消息了
2# Isscaliu

报纸
红豆酥皮 发表于 2012-10-24 17:07:19

地板
damiloveu 发表于 2013-11-19 10:18:20
谢谢分享。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 23:23