尽管我今年基本没有在MC吧发帖,不过天天都来看(后来都没有签到了)。咱们这里基本每天都会有人来发言,今年开的新帖基本全是问老问题的,这是我不怎么说话的原因。刚才看到@月城公寓寓公 能够坚持执行吧规,真是太感动了。
百度贴吧经常发帖不成功,或者将老贴、老回复偷偷删除(至少到现在还是这样,我有好多回复的帖子都被删除了),这个毛病使我很想离开MC吧,去开辟一个不会删帖的地方。嗯,原来号召过几次,不是没人响应,就是响应了也什么都没干成。
这一年我利用Mathcad做了不少实际工作中的计算建模的事儿,有时想在MC吧里分享,但由于以上原因,我就啥都没弄。今年有了以下几点心得:
(1)一定要写注释,注释比程序本身要重要得多!而且我感觉一般情况下注释的内容要比程序多2~3倍,有时要写好几千字的注释,否则就很难在下次继续使用这个工作表的时候能够掌握当时自己的思路,也很难查找出原来的程序中的不足和错误。如果在工作表里的注释篇幅太大的话,我会另开一个.txt文件,用MadEdit-Mod大篇幅的记录,然后把文件路径拷贝到工作表里,这样就很容易查了。
(2)能用Excel完成事情就不要用Mathcad,不要特意的使用Mathcad做大量的活儿。终归Ecxel表格的数据密集度要比Mathcad的文本文档式的文件的密度度大很多。我现在对简单的数据处理、统计、分析什么的都用Excel,Mathcad主要用来编程建模,解决一些复杂的计算问题。在我看来,Mathcad是研究用的(或者说自娱自乐),可以很方便的对数学模型进行各种函数和参数的影响研究,而Excel是干活儿用的,一些在Mathcad里得到的已经有定论的数值关系,移植到Excel里可很大的提高工作效率。
(3)在Mathcad里多开分区,把“赋值”、“公式”、“函数处理”、“计算结果”以及“变量替换”等等分门别类的放在不同的指定的分区里,有助于使工作表条理清楚。而且尽量定义并使用多个工作表共用的变量对照表和符号对照表,甚至在函数的定义规则上也力求统一,这样即使某个工作表缺少注释,也会根据定义规则比较方便的理解当时的思路了——在这个基础上才能有效的用Mathcad建立自己的函数库、知识库,从而不断的提高Mathcad是运行效率和应用价值。
(4)Mathcad的随机数程序确实有问题,有些内置的高级函数也有问题,不管是MC还是MP都是这样。我当时还查了Matlab、Maxima和Maple,存在的问题的是一样的,不知道Mathematica怎么样(我不和怪兽打交道)。此时最好的办法是自己编写函数,尽管自己编写的函数不是C语言的,运行速度较差,但怎么运行的心知肚明,刻意避免很多麻烦。下载一个专用的随机数生成器是很有必要的,现在这几个大M类软件的随机生成器都是伪随机数,在做比较大的数值模拟的时候是不能用的。
(5)尽量避免在实际编程的过程中出现“数字”,能赋值给一个变量的,争取都给做成字母代表的变量,这样在检查程序的时候可以少很多麻烦,而且也能充分保证自己编的程序是“活的”,可以移植或引用到其他工作表里继续发挥作用。
就是这些吧。我现在工作之余除了看手里的那些MC资料外,还编写自己的Mathcad书籍(工作表文件),我想的是把它做成一个MC的高级应用教材,等积累几年之后,一块儿做成一个文件包放出来,呵呵,说不定到时候地球上已经没有其他人类在使用这个古老的软件了。
百度贴吧经常发帖不成功,或者将老贴、老回复偷偷删除(至少到现在还是这样,我有好多回复的帖子都被删除了),这个毛病使我很想离开MC吧,去开辟一个不会删帖的地方。嗯,原来号召过几次,不是没人响应,就是响应了也什么都没干成。
这一年我利用Mathcad做了不少实际工作中的计算建模的事儿,有时想在MC吧里分享,但由于以上原因,我就啥都没弄。今年有了以下几点心得:
(1)一定要写注释,注释比程序本身要重要得多!而且我感觉一般情况下注释的内容要比程序多2~3倍,有时要写好几千字的注释,否则就很难在下次继续使用这个工作表的时候能够掌握当时自己的思路,也很难查找出原来的程序中的不足和错误。如果在工作表里的注释篇幅太大的话,我会另开一个.txt文件,用MadEdit-Mod大篇幅的记录,然后把文件路径拷贝到工作表里,这样就很容易查了。
(2)能用Excel完成事情就不要用Mathcad,不要特意的使用Mathcad做大量的活儿。终归Ecxel表格的数据密集度要比Mathcad的文本文档式的文件的密度度大很多。我现在对简单的数据处理、统计、分析什么的都用Excel,Mathcad主要用来编程建模,解决一些复杂的计算问题。在我看来,Mathcad是研究用的(或者说自娱自乐),可以很方便的对数学模型进行各种函数和参数的影响研究,而Excel是干活儿用的,一些在Mathcad里得到的已经有定论的数值关系,移植到Excel里可很大的提高工作效率。
(3)在Mathcad里多开分区,把“赋值”、“公式”、“函数处理”、“计算结果”以及“变量替换”等等分门别类的放在不同的指定的分区里,有助于使工作表条理清楚。而且尽量定义并使用多个工作表共用的变量对照表和符号对照表,甚至在函数的定义规则上也力求统一,这样即使某个工作表缺少注释,也会根据定义规则比较方便的理解当时的思路了——在这个基础上才能有效的用Mathcad建立自己的函数库、知识库,从而不断的提高Mathcad是运行效率和应用价值。
(4)Mathcad的随机数程序确实有问题,有些内置的高级函数也有问题,不管是MC还是MP都是这样。我当时还查了Matlab、Maxima和Maple,存在的问题的是一样的,不知道Mathematica怎么样(我不和怪兽打交道)。此时最好的办法是自己编写函数,尽管自己编写的函数不是C语言的,运行速度较差,但怎么运行的心知肚明,刻意避免很多麻烦。下载一个专用的随机数生成器是很有必要的,现在这几个大M类软件的随机生成器都是伪随机数,在做比较大的数值模拟的时候是不能用的。
(5)尽量避免在实际编程的过程中出现“数字”,能赋值给一个变量的,争取都给做成字母代表的变量,这样在检查程序的时候可以少很多麻烦,而且也能充分保证自己编的程序是“活的”,可以移植或引用到其他工作表里继续发挥作用。
就是这些吧。我现在工作之余除了看手里的那些MC资料外,还编写自己的Mathcad书籍(工作表文件),我想的是把它做成一个MC的高级应用教材,等积累几年之后,一块儿做成一个文件包放出来,呵呵,说不定到时候地球上已经没有其他人类在使用这个古老的软件了。