西西河

主题:【调查】大家都主要用什么写程序? -- 还是不懂

共:💬139 🌺25
分页树展主题 · 全看首页 上页
/ 10
下页 末页
            • 家园 其实C如果不用指针的话也很简单的

              想象一下,C语言加上面向目标特性,去掉指针,去掉一些高级特性,那是什么?那就是Java,Unix世界的Visual Basic,编程语言界的傻瓜机。

              我在国内的时候客串过C语言培训老师,感觉学生最感困难的就是指针,其它的都很简单。

              也许,Fortran在科学计算领域流行的另一个原因是大学的这些学科多数都要求学生学习该语言,因为老师就是用着Fortran长大的。先入为主,自然占便宜。

              • 家园 那样的话也就不需要用C了

                我同意Fortran的功能用C是可以实现的,但主要是Fortran这么多年了,能用Fortran的,大家也就懒得换成C了。就是说在科学计算中,C比较fortran的优势不明显,在熟悉fortran的情况下,大家也就懒得用C乐。

                C正是具有指针的功能,才使得C远远优越于fortran。说来说去,真正编程的时候,有两种语言可以实现同一种功能,那我会选择相对来说实现起来容易的,自己比较熟悉的一个。

                大学里用的C比较多,那时候对前后处理(图形图像功能比较感兴趣),后来搞research就基本上用Fortran乐,唯一原因想想就是fortran简单而且足够了,用C可以实现同样的功能,但并不需要。

          • 回复
            家园 解释得清楚,知道了,谢谢!

            Matlab商业化,第一件事是就是用C重写了一遍。

            确实如君所言,要解决什么问题,决定用什么工具。

    • 家园 Perl, 有时也用EXCEL Micro 也写小Tool
    • 家园 我基本上用Matlab,省人工。顺便问一个相关的问题:

      你们发文章的时候用什么软件作图?我发现Excel用着挺方便,但转成tiff时巨麻烦。

      • 家园 gnuplot, gri

        execl? give me a break.

      • 家园 origin

        我一直用origin的,就是图个简单,excel的功能要更强大一些,但origin对我来说足够了。

        还是看个人喜好了。

        • origin
          家园 Matlab

          用了都说好,太方便了。

          不爱,你用Fortran算个矩阵的逆你试试看。

          Matlab只要A=A'就搞定了。矩阵中对Not a Number的元素也能处理。

          • Matlab
            家园 用matlab的最大问题是,没法用于大型计算

            我用有限元方法算结构变形,应力分布的时候,单元几万个,自由度就更多了,那么大的矩阵,用matlab没法算。我也写过matlab得有限元程序,但那只是学习有限元课为了方便,还有上数值算法的课的时候用过matlab。做research,搞有限元分析的时候只好自己编程序或借助于现成的有限元软件,matlab无能为了。

            还有matlab用于控制问题处理的时候比较方便,提供了程序包帮助自动生成流图,频谱分析等等。

            • 家园 对,而且死慢,做大规模数值积分基本上是不可能的。我用它画图

              我也用有限元算东西。mesh,node,亲切吧

              写code,调试,修BUG,痛苦啊。

              读别人写的code,更痛苦。

              • 家园 Matlab在用荣格-库塔法解数值积分时,迭代步长是不断变化的,

                所以好多时间都花在优化步长上了。我们那时候只好自己编了一个固定步长的程序。不知道现在新的版本是否有所改进。

                • 家园 我现在经常想你上次的那个帖子中费米对戴森说的话:

                  ‘计算的途径有两种。第一种,是我所愿意采用的,是先有一幅清晰的物理图象。第二种是严格的数学架构。’

                  否则的话计算就成为数学游戏,我现在似乎就陷入了这样的境地,所谓的数值实验就是通过一定的数学手段使你的结果满意,而背后的物理背景不是很清楚。这是比较危险的做法。

                  不行,我得和老板去 argue

                  • 家园 我的理解

                    数值计算只是研究对理论模型(数学模型,方程)进行数值求解的办法。

                    归根结底数值结果正确与否是数学模型是否正确的问题。所以你只有先考虑是否你的数学模型正确。然后,从方程到数值解这一步才是数值算法应该负责任的。归根结底,当前的工程研究中,搞数值分析几乎与理论研究是不可分的。

                    说白了,从物理到数学是建模的过程,模型建好后,就只有数学没有物理了。最后结果的检验则是靠“物理”实验了。而数值分析正处于只有数学没有“物理”的阶段,他对结果是否符合物理背景应该不负责任。

分页树展主题 · 全看首页 上页
/ 10
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河