Fortran Coder

查看: 11202|回复: 8
打印 上一主题 下一主题

[数值问题] 如何使自变量指数增长

[复制链接]

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

跳转到指定楼层
楼主
发表于 2015-5-31 15:32:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 likm1110 于 2015-5-31 19:57 编辑

如题。如果我想算一个函数比如y=x,一般让设置一个步长bin让x等间距增长。比如这样
[Fortran] 纯文本查看 复制代码
x = 0.

bin = 0.1

Do i=1,30

  y = x

  x = x+bin

Enddo

如果我想让程序中的步长bin以指数形式增长,也就是说x的增长不再是等间距,有什么好办法吗?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

798

帖子

2

主题

0

精华

大宗师

F 币
3793 元
贡献
2268 点
沙发
发表于 2015-5-31 20:22:02 | 只看该作者
[Fortran] 纯文本查看 复制代码
x = 0.

bin = 0.1

Do i=1,30

  y = dishu**x

  x = x+bin

Enddo

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2015-5-31 20:32:07 | 只看该作者
[Fortran] 纯文本查看 复制代码
x = 0.
bin = 0.1
Do i=1,30
  y = dishu**x
  x = x+y
Enddo

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

地板
 楼主| 发表于 2015-6-1 08:40:00 | 只看该作者
li913 发表于 2015-5-31 20:22
[mw_shl_code=fortran,true]x = 0.

bin = 0.1

dishu是?

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

5#
发表于 2015-6-1 08:43:03 | 只看该作者
底数
回复

使用道具 举报

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

6#
 楼主| 发表于 2015-6-1 09:23:04 | 只看该作者

恩,大概明白了,只是再问问,这个方法的话一开始会增长的很快,如果我想一开始就缓慢增加呢?

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

7#
发表于 2015-6-1 09:37:05 | 只看该作者
那你需要自己设计一个合适的函数。

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

8#
 楼主| 发表于 2015-6-1 11:32:43 | 只看该作者
fcode 发表于 2015-6-1 09:37
那你需要自己设计一个合适的函数。

soga,我多试试吧~谢了!

55

帖子

16

主题

0

精华

专家

F 币
621 元
贡献
265 点

规矩勋章

9#
 楼主| 发表于 2015-6-3 19:22:53 | 只看该作者
本帖最后由 likm1110 于 2015-6-3 19:25 编辑

最后用了这样的方法。
[Fortran] 纯文本查看 复制代码
   xmin = 1.d-5
  xmax = 4.0d0
  nbin = 40
  xbin = log(xmax/xmin)/nbin
  Do i=1,nbin
    x = xmin*exp(i*xbin)
    y = x
  Enddo

可以比较不错的在x小的时候实现慢增长,x大的时候增长则较快。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 07:44

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表