24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4841  |  回复: 30

hanye0517

木虫 (小有名气)

[求助] 物理模拟是用c语言好还是fortran好?

最近开始接触模拟这块儿,跟导师谈了谈,不知道用什么语言好,导师说C语言或者Fortran都可以,但是我基础为零,想学一种作为主打,不知道哪种好一些,相应的优缺点是什么呢,在学习的过程中需要注意些什么呢?请各位指点一二。如果选定一种语言,能不能推荐一下相应的编译软件哪些更好一些,谢谢拉。

[ Last edited by hanye0517 on 2011-12-26 at 22:16 ]
回复此楼

» 收录本帖的淘帖专辑推荐

Qi's Folder on Everything

» 猜你喜欢

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

道之所在,虽千万人吾往矣。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

ltscu

铜虫 (正式写手)


xzhdty(金币+1): 欢迎常来程序语言 2011-12-28 07:17:26
引用回帖:
7楼: Originally posted by wangww2011 at 2011-12-27 18:45:21:
首先建议不要用FORTRAN,太古老了,他的存在是因为过去兴盛时候有很多很好的库,所以这是FORTRAN存在的价值,但是不用担心,很多库都有C接口。

根据的楼主的二选一,楼主学C吧,不是C++,毕竟C和C++是语法一样 ...

FORTRAN 太古老?

哈哈.....让我们做计算的情何以堪啊!

你去建议INTEL不要再不停发布新版本FORTRAN编译器了。
10楼2011-12-28 05:53:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Jasonluo

至尊木虫 (知名作家)

中央书籍处书记

Fortran没有楼上几位说得没落得那么离谱。在进行数值计算,效率和优越性,其他语言顶多只能和Fortran一样,而不会比Fortran高。
再说了,Fortran也不难学。
朝为田舍郎,暮登天子堂。将相本无种,学子当自强!
21楼2012-05-16 21:23:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jwucn

至尊木虫 (文坛精英)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg(金币+1): 感谢支持 2011-12-27 00:52:52
科学计算用fortran
2楼2011-12-26 22:18:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wqding

铜虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
hanye0517(金币+10): ★★★很有帮助 2011-12-27 10:41:40
jjdg(金币+1): 感谢支持 2011-12-28 02:10:13
这要根据你问题的规模:如果计算量不是很大,个吧小时就能算完的,matlab就可以了,关键是非常非常易学。如果计算量很密集,还是Fortran比较好。但是感觉fortran离开科学计算个圈之外就用不上了,而c/c++感觉可以通吃,啥都能干,呵呵。个人建议至少会matlab和c++两种语言。编译器建议用Intel的fortran/c编译器,代码效率最高。
4楼2011-12-27 09:04:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


jjdg(金币+1): 感谢支持 2011-12-28 02:10:27
引用回帖:
5楼: Originally posted by lt292 at 2011-12-27 09:40:04:
我算外行
但是就编程领域而言,c的应用范围很广
就代码执行效率而言,c和Fortran差不多
c/c++代码严谨程度要不fortran高,c++比较难学,
matlab很方便,但是效率不高
fortran有两个不兼容的版本77和90
c/c+ ...

Fortran 90 至少是兼容 77 的……

在语言兼容程度上来看,还真没有发现有几个语言比 Fortran 更优秀……
9楼2011-12-27 23:24:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kingslcq

新虫 (正式写手)

爱科学的PH.D & Prof.

【答案】应助回帖


感谢参与,应助指数 +1
jjdg(金币+1): 感谢支持 2011-12-27 00:52:45
科学计算用c
科学计算用c++
科学计算用matlab
科学计算用fortran
都可以的
3楼2011-12-26 22:49:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangww2011

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
hanye0517(金币+30): ★★★★★最佳答案 非常感谢,很适合我的情况! 2011-12-27 23:00:39
jjdg(金币+2): 感谢支持 2011-12-28 02:09:50
首先建议不要用FORTRAN,太古老了,他的存在是因为过去兴盛时候有很多很好的库,所以这是FORTRAN存在的价值,但是不用担心,很多库都有C接口。

根据的楼主的二选一,楼主学C吧,不是C++,毕竟C和C++是语法一样的两种语言,我们做计算的,很多时候面向过程就足够了,偶尔用类来封装一下也是可以的,但没有必要碰C++,学学面向对象的思想就够了。

这里在建议楼主学Python,楼主可以先学C在学Python,因为学完C你简单的看几天Python就彻底会用了,到时候也可以感叹下Python的方便之处,最关键的是python非常适合数据的前后期处理,输入输出,可视化结果,分析结果这都是python所擅长的,再结合C的速度,可能就是楼主想找的了。

还有就是楼主可以直接学Python,因为很多很多科学计算库都已经有python接口了,如果必须楼主自己开发,那关键的部分用再用C也不迟啊。
7楼2011-12-27 18:45:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quanta

新虫 (小有名气)


jjdg(金币+1): 感谢支持 2011-12-28 02:08:44
做物理的fortran是不二之选。不是为了你能写程序,而是为你能看懂别人的程序!
最好是都学,反正一种会了之后其他的很好搞定。
8楼2011-12-27 23:18:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangyaocun

木虫 (正式写手)


jjdg(金币+1): 感谢支持 2011-12-29 00:30:22
学习Fortran吧,很容易上手的!
C虽然用途广泛,但是指针很不容易掌握,需要长时间消化!c头文件,库文件,多文件组织等等都是困扰新手的问题,而Fortran就相对简单多了!想进一步学习编程推荐推荐学习C,前提是你舍得花时间或者你很聪明!
Fortran古老但是并不陈旧过时,fortran90以后在格式上有了很大改进,95,03引入了module封装,继承,一点都不out!
其他诸如python,效率实在有限,不推荐模拟使用!
I do it my way!
13楼2011-12-28 09:27:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lt292

金虫 (正式写手)

Holy Shit


jjdg(金币+1): 感谢支持 2011-12-29 00:30:45
引用回帖:
10楼: Originally posted by ltscu at 2011-12-28 05:53:31:
FORTRAN 太古老?

哈哈.....让我们做计算的情何以堪啊!

你去建议INTEL不要再不停发布新版本FORTRAN编译器了。

fortran确实是最古老的编程语言,起源于1956,c是70年代的产物。。。。。
记忆中的颜色,慢慢褪去,变成一缕缕的黑丝,最终消失在茫茫的空白里,一去不返```
14楼2011-12-28 12:54:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quanta

新虫 (小有名气)


余泽成(金币+1): 鼓励讨论! 2011-12-30 20:55:16
引用回帖:
11楼: Originally posted by wangww2011 at 2011-12-28 06:41:25:
哎 争论是C还是fortran没有什么太大的意思 反正我不喜欢fortran,虽然我用的底层库中又很多很多是fortran写的,但上面我都用C.

你先不要那么极端呗 我不知道你当时选fortran是不是因为你们那个领域已经存在太 ...

我是对C和fortran都喜欢。fortran正在没落,但不会死亡。C继续保持常青。
但和你的建议恰恰相反,楼主是作物理的,fortran是“必须学”,而C是“可以学”。必须学的原因是在科学计算领域,你是不可能一切自己从头搞定一个软件的,阅读别人的代码不可避免。
15楼2011-12-29 18:26:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fcy-gng

新虫 (初入文坛)

专业物理编程推荐fortran,不过fortran软件好难找啊。
22楼2012-06-13 16:50:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fcy-gng

新虫 (初入文坛)

fortran是专门的计算软件,比较好学点的。
23楼2012-06-13 16:51:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuanhailc

金虫 (小有名气)

fortran做数值计算所很强大的,可以学学!
我不想现实残酷,所以我会努力追逐!
24楼2012-06-14 19:35:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lt292

金虫 (正式写手)

Holy Shit


jjdg(金币+1): 感谢支持 2011-12-28 02:10:04
我算外行
但是就编程领域而言,c的应用范围很广
就代码执行效率而言,c和Fortran差不多
c/c++代码严谨程度要不fortran高,c++比较难学,
matlab很方便,但是效率不高
fortran有两个不兼容的版本77和90
c/c++是完全兼容的

编译器可以用gcc,fortran,c,c++通吃,但是得有相应的库
如果用linux系统,gcc自带的,下载一下g++和fortran的库就可以了

win的话,直接用微软的vs吧
记忆中的颜色,慢慢褪去,变成一缕缕的黑丝,最终消失在茫茫的空白里,一去不返```
5楼2011-12-27 09:40:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)


jjdg(金币+1): 感谢支持 2011-12-28 02:09:57
个人觉得还是用CUDA比较好
www.cvdelver.com
6楼2011-12-27 13:47:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hanye0517 的主题更新
信息提示
请填处理意见