有限元边界条件采用直接修正法处理并求解,请教改编函数的问题
mathcad吧
全部回复
仅看楼主
level 8
wwwdongliting 楼主
链接:百度网盘 密码:upty
请看中间右侧我写的函数。
我定义了实验用的 K f BC
问题:第二个for语句内的占位符该怎么处理掉?直接删好像不行
另外,我这么写有什么不对的吗?还可优化吗?
2015年02月08日 16点02分 1
level 12
问题(1),全局定义和赋值定义如果效果相同的话,用哪个都成,没有一定之规,根据具体情况自己把握。你在翻译资料的时候,尽量尊重原作者的编程习惯。
问题(2),没看明白,你说的是xsol(K,f,BC)么?没看明白你要干什么,你也没给出注释。那个占位符可以直接删呀。
2015年02月09日 01点02分 2
level 8
wwwdongliting 楼主
那是我根据左侧原文,写的一个函数,实现按直接修正法求解。删掉占位符后结果与原文一样,也算我有了自定义函数。
计算结果正确。
现就问题继续求教:问题1: 函数中的otherwise 位置太靠外侧,感觉不太正常。
问题2:编程时不知道什么时候该用addline,是不是碰到循环for和选择if,知道其后为多行的块就加?
2015年02月10日 01点02分 3
问题3 把这个函数用到2.8.1中时发现,在那里力定义为矢量了,需f的样式由矩阵改为矢量。感觉矩阵好点,函数的输入样式一致。
2015年02月10日 01点02分
个人认为修改成这样的函数形式,比原文易读,方便以后引用。太感谢了
2018年08月08日 08点08分
level 12
谢谢wwwdongliting的不懈努力,这几天MC吧冷清的厉害,可能都放寒假了哈。
问题1:我觉得otherwise的这个设定挺好的哈,使程序有了很好的可读性。
问题2:这个只能自己体会了,你用多了自然知道。从没想过addline会是一个问题。
问题3:嗯,你说的有道理,不过我建议还是尊重原作者的编程习惯,你可以用ctrl+6来引用你的矩阵里的列作为矢量。
我上大学的时候听过一次博士答辩,他也是用矩阵来定义力的,当时就被雷住了。然后一直到现在我也没有明白用矩阵定义力是什么原理,wwwdongiting,你能给科普一下么?
2015年02月10日 09点02分 4
level 12
MC在6.0版时完善了快捷键的输入,一直用到了现在的MC15,就是将Windows的字符映射表的部分字符修改为MC数学区域中符号键,而且又希望能够贴近原来的ASCII码表,所以大部分MC的符号键在这种情况下是这个功能,在那种情况下是那个功能,并不是完全按照数学概念来确定的符号,这点和Maple不一样。
既然要满足贴近原来的ASCII码表,使其原来是数学符号的部分在MC中真正成为数学符号,而且如果一个软件的快捷键太多了的话,就容易记混,容错率下降,使用户很难操作,如此可以利用的ASCII键值是很少的,快捷键也被局限在help中“快捷键表”的范围内。当时考虑了将相近的数学概念合并的方案,向量、矩阵、数组这三个被合并到ctrl+m了,绝对值、行列式和复数的模这三个被合并到“|”了,矩阵点乘和一般的算数乘法被合并到“*”了……等等。
尽管MC的运算规则是严格的按照数学原理进行的,但输入上确实是很随意的。嗯,说来这也不是Mathsoft公司干的,这些决定都是当时的MC用户(1996年以前的)提出来并自行验证过的。
所以我还是那句话,别把MC当成纯粹的数学工具来看,它是一种编程语言,有它自己的语法。而且如果要用好MC,就得抛弃一些传统的数学观念,只要把里面所有的符号都当成一种基本的有自己特殊性质的功能来看待就好了。
2015年02月10日 13点02分 6
level 12
默默顶贴,总是发现新知识
2015年02月11日 15点02分 7
1