24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 679  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zouji1983

金虫 (正式写手)

[求助] 求助一个小程序!

我是fortran的初学者,现在用别人的程序。但我现在需要用newton-raphson解一个非线性方程,例如:lnx+x^3+A=0, 这里我要解的未知数x和常量A都是一个数组,像x是这样一个数组:(1,1,100,100), A是(1,100,100). 我只能从网上找到关于解x不是数组的code,如下:
subroutine calculation (x,A)
        integer ::k  
        real(8) :: x,x0,A
        real(8):: tol

        f(x)=lnx+x**3+A
        df(x)=1/x+3*x**2
        tol=1e-6
        x0=0.2d0
        k=0
        10 k=k+1
        x=x0-f(x0)/df(x0)
        if(abs(x-x0).lt.tol)goto 20
            x0= x
        goto 10
        20 write(*,*) x
                  end do
                end do
                        
end subroutine calculation

但是对于数组来说应该怎么改呢?我想把这个作为一个subroutine。非常感谢各位的帮组!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖

引用回帖:
6楼: Originally posted by zouji1983 at 2012-12-05 16:54:09
谢谢!我的X已经用绝对值表示了。是不是我传递到subroutine里的是数组元素,所以我subroutine里的变量x也必须是数组呢?还是像现在这样也没有问题?我想让你确认一下这个问题。因为有人说,subroutine里的变量也需 ...

不需要,只要变量类型一致就可以。因为Fortran参数传递的时候是传址,所以可以直接使用数组元素。
7楼2012-12-05 22:12:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

chembetsey

木虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢说明 2012-12-05 01:49:57
call subroutine的时候把数组元素值传进去就是了,call calculation (x(i,j,k),A(i,j,k))
或者先把数组元素值赋给一个临时变量,再传递进去
2楼2012-12-04 23:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
2楼: Originally posted by chembetsey at 2012-12-04 23:00:54
call subroutine的时候把数组元素值传进去就是了,call calculation (x(i,j,k),A(i,j,k))
或者先把数组元素值赋给一个临时变量,再传递进去

谢谢你的回复!
所以我不需要把subroutine也写成数组的形式,对吗?
3楼2012-12-04 23:49:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouji1983

金虫 (正式写手)

引用回帖:
2楼: Originally posted by chembetsey at 2012-12-04 23:00:54
call subroutine的时候把数组元素值传进去就是了,call calculation (x(i,j,k),A(i,j,k))
或者先把数组元素值赋给一个临时变量,再传递进去

我按照你说的做了,编译都过了,但是运行的时候,显示:log domian error. 不知道怎么解决呢?谢谢!
4楼2012-12-04 23:54:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085900土木水利336分求调剂 +4 Zhangjiangj 2026-03-31 6/300 2026-04-02 11:40 by 1753564080
[考研] 一志愿同济大学323分(080500)求调剂 +5 yikeniu 2026-04-01 5/250 2026-04-02 11:17 by xiaoranmu
[考研] 材料考研调剂 +9 Gs大王 2026-04-02 9/450 2026-04-02 10:24 by olim
[考研] 292求调剂 +14 是妍子也是研子 2026-03-30 14/700 2026-04-02 10:17 by sanrepian
[考研] 316求调剂 +11 舟自梗 2026-04-01 12/600 2026-04-02 10:12 by 不吃魚的貓
[考研] 各位老师好,我的一志愿为北京科技大学085601材料专硕 +13 Koxui 2026-03-28 13/650 2026-04-02 09:35 by 哒哒哒呱呱呱
[考研] 085602化学工程268分蹲调剂 +8 月照花林。 2026-04-01 8/400 2026-04-01 22:08 by 无际的草原
[考研] 273求调剂 +19 李芷新1 2026-03-31 19/950 2026-04-01 21:49 by chyhaha
[考研] 286求调剂 +16 PolarBear11 2026-03-26 16/800 2026-04-01 21:31 by 七度不信任
[考研] 342求调剂 +12 Mary Keen 2026-03-28 13/650 2026-04-01 21:02 by 流情牧豪
[考研] 求调剂 +4 图鉴212 2026-03-30 5/250 2026-04-01 15:32 by 图鉴212
[考研] 一志愿a区211,085601-307分求调剂 +10 党嘉豪 2026-03-31 23/1150 2026-03-31 18:44 by JourneyLucky
[考研] 322求调剂:一志愿湖南大学 材料与化工(085600),已过六级。 +10 XX小邓 2026-03-29 10/500 2026-03-31 16:46 by 不吃魚的貓
[考研] 一志愿西电085401数一英一299求调剂 六级521 +4 爱吃大鸭梨 2026-03-31 4/200 2026-03-31 11:51 by 搏击518
[考研] 22408 359分调剂 +4 Qshers 2026-03-27 8/400 2026-03-31 08:53 by Qshers
[考研] 085602化工求调剂(331分) +8 111@127 2026-03-30 8/400 2026-03-30 21:23 by 研究僧导导
[考研] 求调剂 +10 家佳佳佳佳佳 2026-03-29 10/500 2026-03-30 18:34 by 544594351
[考研] 332求92调剂 +8 蕉蕉123 2026-03-28 8/400 2026-03-29 10:46 by 周梓丹
[考研] 复试调剂 +3 raojunqi0129 2026-03-28 3/150 2026-03-28 15:27 by 落睿可思
[考研] 材料与化工(0856)304求B区调剂 +8 邱gl 2026-03-27 8/400 2026-03-28 12:42 by 唐沐儿
信息提示
请填处理意见