朱老剑客
朱老剑客
关注数: 1
粉丝数: 395
发帖数: 4,802
关注贴吧数: 23
【重要通知】月城先生含冤被雪遭禁言 刚才,我,得到,一个消息, MC吧的老主顾,月城公寓寓公先生, 昨晚,被,百度贴吧,永久,封禁,屏蔽, 所有发言,均遭,删除。 苦啊!好苦! 老先生自查无过,多次申诉均无果,无奈,以后不会再来贴吧发言,望周知。 MC吧今年受ctc2000thl、charmengineers所助刚有回春之色,各位老朋友刚准备慢慢回来振兴论坛,就遭此晴天霹雳,不至土崩瓦解,也是雪上加霜! 诸位,大可以继续在这里苟且,引颈待割。 抑或奋起,另觅他巢,毕竟此处早已蒿草遍地。 嗯,我前一段时间已经告知了各位MC吧的新址,kuing·orzweb·net,可没人过去说话。此乃真苦! 最后,望月城老先生别生贴吧这个闲气,弃之如敝屣即可,咱们好好的,硬硬朗朗的。 山高水长。
【商量贴】咱们换一个论坛讨论Mathcad怎么样? 我找到一个地方,很不错,言论相对自由,只要是正经讨论帖子都不会被删,支持LaTeX公式输入,搜索结果很全。 kuing.orzweb.net 各位去看看,只要有2个人同意,我就把Mathcad吧迁过去。 我先跟他们站长商量着,各位尽快回复。
我用Autohotkey编写了一个方便任何程序窗口横向滚动的软件 下载地址:wwa@lanzous@com@iUO2snw6mzi 下载时,将上面的“@”改为“.”或者“/”。我只能如此,否则就会被删帖。 应该是发在AutoHotKey吧的,但咋说呢?一是那里没熟人,二是我第一次编软件,太容易献丑了。 最早是受到Mathcad的启发,用shift + 鼠标滚轮横向滚动,用ctrl + shift + 鼠标滚轮横向翻页,我就一直在找这种能够让windows全平台软件都可以实现这个功能的软件,后来找到了一个XLHScroll,现在叫OfficeScroll,在GitHub上可以下载——不过,实话说,我这个软件的效果比它的那个要好很多。嗯,实在找不到,就只能自己编了,幸好在AutoHotKey论坛上讨论这个功能的帖子非常多,感谢Nausher先生和Kon先生! 以下是readme.txt中的内容: 我使用AutoHotKey编写后编译的。 感谢AutoHotKey论坛上的Nausher先生和Kon先生! 我将这两位先生的代码综合成了1个ahk文件,并加入了我的理解。 Shift + 鼠标滚轮,横向滚动; Ctrl + Shift + 鼠标滚轮,加速横向滚动。 建议设为开机启动项,用起来就方便了。 双击exe文件运行,在Windows tray上出现图标,右键单击鼠标可挂起或暂停程序进程。 压缩包里有HorizontalScroll的ahk源代码以及Autohotkey安装程序。用户可自由修改该程序,用户可自由分发该程序。 在Win7中测试,除了在Word中没有实验成功外: |在Excel、PowerPoint中均没问题 |对其他应用软件窗口测试也暂时没有发现问题 |在WPS表格中需使用Alt+鼠标滚轮 |与ribbon工具条滚动无冲突 |与“Scrolling while mouse on window”类的鼠标增强软件(如wizmouse、KatMouse、MouseInc、MouseWeely、Taekwindow、WheelHere、Flying Windows、Mouse_Hunter等等)无冲突 |在AlwaysMouseWheel中需关掉其自带的横向滚动功能。 对不起,使用了wizmouse的图标,希望没有侵权,我太喜欢这个红鼠标图标了!
openscad怎么自定义快捷键? 我看帮助里说在“首选项”菜单里的“按钮”面板里,按下自己要定义的快捷键或组合,右边的文字就会变红并变成粗体,我咋试了很久都没成功呢? 我是觉得既然是程序行的软件,就应该像比较好的文本编辑器一样,让用户的手不必离开键盘去拿鼠标了…… 如果哪位朋友自定义快捷键成功了,希望您能够在这里教一教我,十分感谢! 另外,openscad的编辑框中录入时,好像不能“括号自动补全”,我从github上看到这个需求从2019年就有人提了,很难做到么?还是已经做到,但我不知道怎么激活这个功能?
再发个长的:Mathcad与Pseudocode "伪代码"的英文是"Pseudocode",我查了一下这个词的延伸,好像跟"Pseudo"(伪、假的)有关的名词都挺不光彩的,Pseudomathematic(伪数学)、Pseudophysics(伪物理)、Pseudoscience(伪科学)……跟"民科"如影相随。好像只有"伪代码"是清白的,但好像在学术界"Pseudocode"这个概念并没有完全做到"出淤泥而不染",低人一等的样子。 我认为"伪代码"并不比真正的"编程语言"低一等,它是和"编程语言"是两个范畴的东西。"编程语言"是属于"实现层"的,用一套词汇和语法,能够让计算机识别并执行。"伪代码"是属于"思想层"的,把一套处理问题的路线叙述出来。当然,实际应用中,程序员往往直接用"编程语言"来叙述"思想层"了,用特定的如C、C++、Python等等,来阐述同一个思想,而不绕弯路去先用什么的"伪代码"或者"流程图"去演绎一下自己的想法。这样当然是无可厚非的,而且一些高级语言本身就与自然语言很相似了,得到的程序也不是很难理解。不过,对于非程序员来说,"伪代码"和"流程图"给了他们表达自己的机会,而当这个表达能够完成很复杂的事情的时候,给非程序员的鼓励和成就感也同样是非常大的。 尽管找到了这么多软件,几乎都是对程序员进行教学用的,也就是说能够实现的功能也仅仅限于逻辑表达,如果不是在学校里的话,这些软件实际上真的没什么可玩儿的,即便你在这些软件里实现了多么复杂的算法,它顶多是能够把你画的"流程图"或者写的"伪代码"转译为某个常用的"编程语言",然后可以嵌入或者独立执行——而对"伪代码"的学习成本并不比学习任何一门"编程语言"低。"编程语言"的学习难度在于其十分严谨的语法,可以说处处是地雷,而且"库"、"类"、"属性"等等花样繁多,各种进制,各种声明,五彩缤纷,眼花缭乱,可爬上一座山之后,基本上都是平原,初期的难度梯度较高,掌握一门"编程语言"之后,只要做语法上的调整,代换几个关键词,并且了解一下不同语言之间的性能上的差别,如此,就很可能马上学会并掌握另外一种"编程语言"。"伪代码"则是正好相反,很简单的几种元素,完全的彻底的都是思想上的问题,很容易学习,但易学难精,纯粹的脑力锻炼,如此呢,"伪代码"更适合研究算法——无论用哪种高级的"编程语言"来研究算法都不如用"伪代码"来的效率高,因为人们在用"伪代码"思考问题的时候想的不是语言本身,也不是某某功能需要怎么引用过来,他们想的是算法,很纯粹,加减乘除,不需要多么花哨的功能,仅仅是实现一个优秀的想法。嗯,所以我说"伪代码"和"编程语言"是两个范畴的东西,彻底点儿说,是完全不同的两个东西,谁也别说谁低级。用1天的时间就可以把"伪代码"中各种元素学明白,然而用"伪代码"实现高效的复杂的算法,可能需要自己思考10年,20年。 从利益上分析,也就很容易能够看出来,"编程语言"是可以实现功能的,是可以将思想变为现实的,也就可以用这些现实去卖钱。有一种许可正是这样的,语言本身是免费的(可能还是开源的),但用这种语言编写出来的软件却是可以卖钱的。早期的Mathcad软件是免费的,只要去官网下载并注册成用户就可以了,然而用Mathcad编写出来的计算软件都是涉及到很高的专业性的,含金量很大,所以除了很少量的学术交流或者教育性质的worksheet在网络上流通之外,大部分都是明码标价的。而"伪代码"则不同,难以变成现实,完全是思想,通过人们对思路的解读当然可以用"编程语言"把它转变成现实,但它本身不能成为现实,所以也就没有经济效益——除非,人们造出了一种可以把这个"伪代码"高效转译为"编程语言"的工具。还是Mathcad,随着与它合作的软件不断增多,人们在各个专业领域均找到了让这种免费语言发挥经济价值的方法,并造出了相应的工具,从Mathcad 7开始陆陆续续的出现了好多软件,于是Mathcad就从免费软件变成了商业软件,而且还挺贵的。 不能变为现实,多用于教学,总之吧,"伪代码"这种尴尬的性质可能是不会改变了。终归现在人们一说进行算法研究,都是用Matlab等等大型的数学软件。怎么说呢?Matlab尽管是程序行形式的,好像除了Mathcad及其效仿者之外,几乎都是程序行形式的,而且也有编程语法和规则,说是"编程语言"也无可厚非,一种类似于"伪代码"的编程语言。 一直以为"编程语言"的种类太多了,1个Basic,就有QBasic、TBasic什么的方言,Lisp也有好几种方言;再加上各种各样的库,1个Python,搞数学计算的就有SymPy、NumPy什么的,更是涉及到编程领域的方方面面,这就让我望而却步了。现在我才知道"伪代码"更乱!因为"伪代码"更接近自然语言,那么自然语言有多少种,就会有多少种"伪代码"。仅这次收集的软件里就有英语的,法语的,意大利语的,西班牙语的,而且不同的国家会有多种"伪代码"方言。PseInt使用的是西班牙语的"伪代码",从它的Perfiles文件夹里看,有351种方言!每个大学、研究机构都有自己的一套"伪代码"方言。天呐!本来以为"伪代码"应该是人类共同的思考语言呢,像UML一样,实际上乱得很。因为PseInt这个软件非常优秀,网络上就有人提出本土化这个软件,比如说翻译成英文,不过从这个软件的开发者回复中看,这件事是很难办到的,他不仅仅要把软件界面、说明文件什么的翻译成英文,还要把西班牙语的"伪代码"方言翻译成英语的,这样才能让这个软件发挥编程的作用——而英语的"伪代码"方言又不知道会有多少!我想说不定会有有心人会编写一本<"伪代码"大辞典>,尽管可能一点儿用处也没用,毕竟,"伪代码"更多的是内部交流思想的工具,更甚者,是自己梳理思路的工具,它不能代替"数学符号",不能代替"编程语言",而用"数学符号"和"编程语言"进行国际学术交流完全够用了!除非,除非有有心人确实用"伪代码"做出了足够宏大的算法逻辑,宏大到无论用"数学符号"还是用"编程语言"来表示它都会显得力不从心。 "伪代码"是典型具有工程性质的思考工具,用它搞学术搞理论力有不逮,但实现工程,"把不可能变成可能",我感觉它是有这个潜力的。 再说说Mathcad。在wiki百科的"pseudocode"条中,把Mathcad列为典型的"伪代码"——以前在百度"Mathcad吧"里也有懂编程的朋友这么说过,当时我还觉得挺受打击的,现在想来,他可能用的是褒义。而且我感觉Mathcad可能是至今为止最成功的的"伪代码"软件了,它给出了一套成熟的"伪代码编程语言",我们玩儿MC的都管这个叫"M++"语言。因为这个软件传播的非常广,世界上有很多人都在用或者用过,使这种语言得到了广泛的传播和认同——至少我有时候就会不自然的用这套语言来思考问题。当明确了Mathcad是"伪代码"之后,之前的很多疑问就都有了答案: (1) 为什么从Mathcad跳到其他数学软件的学习成本会那么高?因为"伪代码"可以不必事先声明变量类型,它是在处理过程中对变量类型进行默认的,除非用户特别的给出指定,否则不必事先声明;甚至是模糊的,我前面将a声明为"整数",但当我之后给a加了下标,它就自动变成了"数组"或者"矩阵"。而其他数学软件基本都有自己的变量表,即使像Maple那样也不必事先声明,但a是"整数"就始终是"整数"了,除非给a另外刷新了定义。"伪代码"还给出了局部变量和全部变量的随意性,这使得我在Mathcad的程序块外面给a定义为"浮点数",但在程序块里将a作为1个"布尔值"或者"序列"是可能的,但在其他的数学软件里这么做肯定是会引起混乱的。玩儿MC的人一般不会关心变量管理或者函数管理这样的琐碎事情,这使得他们可以完全的投入到算法的实现,要想在用其他数学软件或者编程软件的时候能做到这种"专心",心理成本是很高的。或者说Mathcad用户被Mathcad惯坏了,养成了一大堆坏习惯,一点儿也不严谨——随便怎么说吧,我在使用其他数学软件的时候从来没有使用Mathcad时候那么流畅自由的体验。 (2) 为什么几乎所有数学软件都不支持将自己的代码与Mathcad进行共享交换?也是一样的,思维方式都不相同么。 (3) 为什么Mathcad的版本升级会那么难?从Mathcad 7到Mathcad 11,每个大版本的升级,其功能提升还是很明显的,而如果仔细观察则会发现,那些升级都是给MC不断的挂载新功能模块,而那些模块都不是用MC编写的——这是肯定的,MC是"伪代码"么——都是MathSoft公司和兄弟单位谈好了,他们为MC提供这个接口,那个服务,MC11相当于是一个集装箱或者百货商店,所谓的强大的功能都是外挂的。而当Maple闹起义,带领着SmartSketch、Vissim等一群大佬离开了Mathcad之后,从Mathcad 12一直到Mathcad 15,一直都表现平平,每次无论是大版本升级还是小版本维护,都仅仅是解决一些"无足轻重的小问题",偶尔新增了零星几个新函数,偶尔纠正了某个计算错误甚至是显示错误。怎么会这样呢?如果仔细看Mathcad的发展史,你会发现从Mathcad 2.5之后MC主程序本身就一直在原地踏步,甚至在Maple离开之后,还有所退步。这个过程中MC 5、6的变化是最大的,将MC的Windows界面完善成现在的样子,然后就真的是乏善可陈了。现在看其根本原因还是"伪代码"的缘故,MC没有用"编程语言"界面,这使得它与"编程语言"之间的互译难上加难。其他的几个数学软件可以很简单的将世界上其他"编程语言"所得到的算法成果买过来,加入到自己的程序行里,实现算法的升级和功能的升级,而且水涨船高,渐渐的也有其他公司来做合作伙伴,向Matlab、Mathematiaca里挂载自己的功能,越做越好。比如说Mupad,被Mathworks收购之后,一直到2019b版都是以独立的程序界面出现在Matlab里的,然后Matlab发挥了它强大的"编程语言"能力,造出了个"Symbolic Live Editor",直接把这个曾经很牛掰的符号代数软件吃下去,消化成了Matlab的一部分。类似的事情很多,Julia把SymPy降维成1个.jl文件收归己有,MapleSim则是直接使用Modelica编的。"编程语言"间的互译能力使得Mathcad这种"伪代码"软件变成了"升级的孤岛"。 多说两句,这里面还有另外一个原因,跟"伪代码"就关系不大了。Mathcad这个软件的组成很乱,主程序用的是Lisp(可能是Commen Lisp,AutoCAD的宏语言就是Lisp),计算引擎用的是C/C++,符号引擎在Maple时代用的是Lisp,在Mupad时代用的是C/C++,控件用的是Visual Basic Script和JavaScript,而用户干活儿却特么用的是"伪代码"。如果在Mathcad早期,发展最好的那几年(MC7~11),MathSoft公司利用自己的影响力做出M++语言与C语言之间的编译器就好了,可是那几年MathSoft忙着从各个商业用户手里收版税呢,他们可能觉得自己已经是老大了,不能让自己听别人的,要让别人听自己的,很霸道!没远见!而且从MC2.5开始,也就是1989年前后吧,MathSoft公司发起了一项持久的运动,鼓励用户自己编写计算库文件(.dll)——这件事在现在来说是很常见的事情,而且当时MC还是半开源的,这个运动一直到MC15仍然在继续。这个.dll文件是用C/C++编写的,跟Mathcad一点儿关系也没有,写完了之后就变成了一个可以在MC用户界面里可以执行的内部函数。从MC的升级手册里能够看到,在新版本里加入了谁谁谁提供的.dll,可以实现什么什么样的计算功能——据我试验,尽管这些官方提供的内部函数运算速度都很快,但也是有bug的,很多时候还是自己用基本的加减乘除来编写"伪代码"来得更踏实。MathSoft这么做当然是好事,这使得MC在每次升级都会出现计算能力的提升,实在不能加入主版本的函数,还可以放进Extension Pack或者Engineering Library中发布,效果是一样的。可命衰的是,MathSoft公司同时还鼓励所有用户用自己的编写的.dll武装过的Mathcad版本拿出去卖钱——既然我编写的软件可以卖更大的价钱,我为什么非要卖给你MathSoft公司呢?而且.dll是用C/C++编写的,既然它可以用在Mathcad里,也就可以用在任何数学软件里,稍微改头换面就可以的事儿,用户跟MathSoft公司之间没有任何义务和权利约定,那么他们辛辛苦苦做出来的优秀函数,可以卖给MathSoft,自然也就可以卖给MathWorks或者Wolfram。而且就像上面对"伪代码"用户的分析中说的,大部分用Mathcad的人是工程师或者科研人员,而不是程序员,而且从Mathcad"伪代码"跳到"编程语言"是有很大的心理成本的,这使得真正热爱Mathcad的人对Mathcad软件的发展几乎毫无推进作用,不管你用M++语言制造出了多么优秀的算法,要让它成为Mathcad的一部分让全世界的人都能够享受到你的研究成果,仅有传播WorkSheet或者HandBook一途可选。到了Mathcad 12之后,筵席散了,更没有人去搞什么M++到C/C++的编译器了,Mathcad升级中主要函数的来源只能靠MathSoft公司或者PTC公司里的那几个程序员来折腾,而且还要同时考虑整个程序的稳定性和继承性——要知道,编写出一个优秀的算法函数的难度相当于纠正整个软件bug的难度,可能还要大,因为里面是有创新的,对MC尤其如此,需要有丰富的工程计算经验和深厚的数学功底的——这是1个多么大的难题啊!据说Matlab工具箱都是那些领域的创始人或者大牛与MathWorks的特派编程团队合作出来的,是要投钱花时间的。而MathSoft公司在其他数学软件奋起的时候自己却濒临破产了,Mathcad的后妈PTC公司本身就不是搞数学的,它在工程计算圈和数学圈里没有什么号召力,又舍不得投钱,造成Mathcad 12之后的版本就只剩下维护了。不过呢,这对于基本用户来说也不是完全的没有好处,下面我会说。 (4) PTC接收MC已经十几年了,但开发出的Mathcad Prime到现在的这个V7的水平仍然追不上Mathcad 15,为什么?PTC接手MC后首先就发现了Mathcad软件中各种"编程语言"杂糅的情况不利于这个软件的开发,因此他才在维护了几个版本的MC之后索性放弃了,改去开发Mathcad Prime。MP是用C/C++编写的,借用了微软发布的.net和VC,跟Lisp无关。但是呢?如果编出来一个软件叫Mathcad Prime,但毫无之前Mathcad的任何特征,这就说不过去了,PTC公司收购Mathcad的目的是看准了Mathcad的庞大的用户群,他们需要用这个用户量来赚钱,这就不得不服从这些用户以前使用Mathcad的习惯,也就是"伪代码",于是呢,PTC就碰到了与MathSoft公司同样的问题,"伪代码"与"编程语言"之间的互译。如果PTC在开发MP的时候做得绝一些,干脆让所有Mathcad老用户以前编写的Mathcad文件都失效,让Mathcad直接成为历史,尽管这样会挨骂,但这样他们在开发MP的时候就无牵挂了,他们可以让用户遵从一个新的"伪代码"规则,必须符合特定的语法才可以,是有严谨结构和语法的"伪代码",嗯,那就跟Maple、Mathematica很相似了。可是这样老用户都没了,新用户如果不使用Pro/E或者Creo,谁会特别选用这种新软件呢?那PTC公司不就赔钱了么?而要让老用户能够喜欢用上Mathcad Prime,唯一的办法就是提供一个转译器,将.mcd或者.xmcd文件转译为.mcdx文件。原来人们使用Mathcad"伪代码"是很随意的,五花八门的,这就使得MP程序的编写难度非常之高,又要实现C/C++的中规中矩,又要实现Lisp的自由奔放。可以说PTC开发MP的这十几年一直在做的事情只有一件,就是和Lisp作斗争。嗯,看,PTC同时面对着两个难题,用户的"伪代码"对程序升级毫无用处,以及用C/C++实现类似Lisp的功能——比当年的MathSoft公司还多一个。PTC在之前的MP版本里关闭了用户自己编写.dll的通道,用自己的统一语法来做这件事情,我想等今年PTC把所有MC用户的许可证都吊销了之后,他们会以MathWorks公司的方式再次开放这个通道的——鼓励用户编写工具箱或者功能库——嗯,把MC老用户斩尽杀绝之后,PTC就可以推行自己的"伪代码"规则,废掉之前的"M++"语言,形成"M-Creo"语言,然后所有的事儿就都好办了,我们可以期待MP8会有脱胎换骨的升级,但这些已经跟Mathcad毫无关系了。 无论Allen Razdow先生当年造Mathcad这件事儿给数学软件界造成了多么大的麻烦,也无论Mathcad现在混得多么凄惨,就像我前面说的,到目前为止,Mathcad无疑是最成功的"伪代码"软件,它直接让用户使用"伪代码"去思考,去解决实际问题,这可能也将是后无来者的了。很难想象与计算机打交道能这么自由不是么?用"伪代码"编程势必需要有1个转译层,其执行效率势必要比"编程语言"低不少。就看你是怎么看待"算法"这件事儿了。如果你认为效率低、计算慢的数学软件就是垃圾,那最好去学Julia,我看了好几个Julia的教程,很多是听不太懂的,但几乎所有的教程都拿它的计算速度说事儿,太快了,无与伦比的快;如果你比较享受思考的过程,不在乎电脑或者人工智能能够实现什么,而是"我"或者"人类"能够实现什么,即便速度很慢,但它实现了,我想你肯定会是个"伪代码"的老铁的。我是后者,所以我也不太在乎Mathcad现在的内置函数的量那么简陋那么少,或者说用Mathcad造轮子也是很有乐趣的。所以我前面说从MC11开始MC的升级仅限于版本维护也不一定是件坏事儿,PTC让所有MC的许可证都失效也不一定是坏事儿,这等于是把MC给释放出来了,PTC把MC流放了,不管使用无服务器许可证的正版用户,还是盗版用户,都得到了解脱,不是么?完全可以自由的用Mathcad研究和交流算法了,不是么?不必再背着"工程计算标准"、"数学软件扛把子"等等这些包袱了,纯粹的在"伪代码"提供的自由思考海洋中徜徉。不必考虑升级,不必看着Modelica系的一系列仿真软件眼馋,完全专心的埋头做自己喜欢的事情——在Mathcad所能够提供的所有功能范畴内。这多少是件好事儿,说不定在PTC严酷镇压下,在各个国家或者全世界范围内会出现类似于Mathcad算法联盟的组织,人们自己学会脱离软件的束缚自己搭建自己的象牙塔。即便不是如此,MP仍旧继承了Mathcad的主要特征,人们仍旧会享受到部分MC的快乐的。再即便不是如此,这对于喜欢用直接的本质的必要的"伪代码"来表达自己想法的人们来说也不会有任何影响的——比如说西班牙人就可以用PseInt来进行高级的思考,而俄罗斯人可以用Drakon,意大利人可以用AlgoBuild,法国人LARP……
说个新闻
2017年各位辛苦了,我争取2018年能抽时间回来继续折腾 尽管我今年基本没有在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的高级应用教材,等积累几年之后,一块儿做成一个文件包放出来,呵呵,说不定到时候地球上已经没有其他人类在使用这个古老的软件了。
【想法】使用四角号码和汉字电码创造独属于汉字的密码 这是前天产生的一个想法,说不定已经有人想到过了,说不定我是第一个想到的哈!(要是有谁看完这个帖子想申请专利,还望跟我联系一下哈!我的电话13520714694。)我是感觉这种密码很可行,至少作为民间密码通信来说,具有一定的保密性。 四角号码是汉字特有的,发明于20世纪20年代,以字形的区别,汉字的左上、右上、左下、右下分别可以使用数字0~9来代表,一共4位数,能够代表9999个汉字,更多的汉字就会造成四角号码重复,因此往往还要加1位数字以示区别。 汉字的电码也是汉字特有的,发明于19世纪50年代,用数字0~9形成4位数代表1个字,然后在拍电报的时候使用相应数字的莫尔斯电码发出去。中文电码是随机码,没有任何规律,电报员只能死机硬背,涵盖了8000多个常用汉字,不常用的汉字是没有电码的,为此我还买了本《标准电码本》,确实有好多字儿是没有的。 都是4位数,那么就可以得到以下密码方式了: (1)A用中文写一段话,B收到这段话后将其转化为四角号码,然后再查电码本,转化为另外一段话; (2)A用中文写一段话,B收到这段话后查电码本将其转化为电码,然后再用四角号码转化为另外一段话; (3)A发出一段数字,B收到后按电码或四角号码将其转为中文。如果使用得足够巧妙的话,电码和四角号码所形成的中文意思可以互相衔接,从而形成一个新的意思。如果A精通数论的话,可以给B发一个函数或者计算题,其答案就是那串数字,效果会更好。 (4)由(3)引申出,A给出一串点横图,或者用声音、灯光等打出莫尔斯电码,从而达到和(3)同样的效果。这就更具有伪装性了,因为可以在点横组合与分割规律上动一些脑筋。 嗯,为此我除了买《标准电码本》之外,还温习了一遍小学时学的四角号码,要说真是温故知新哈。 ——————————————————华丽的分割线———————————————— 我还想到了另外一种网络密码的加密和识别系统,这或许能够很显著的(从根本上)解决黑客撞库获取他人网络密码的问题。(同样,如果谁看了这篇文章想申请专利,请联系我13520714694。) 我们在电子邮箱、QQ、微信、淘宝等等地方注册的时候,都会被要求输入密码,这个密码如果很简单,就会很容易被黑客破解,如果很复杂,就需要很好的记忆力了——当各个注册网站使用的密码都不同的时候,就非常烧脑了。当然现在有1password这样的软件可以帮助用户记住自己复杂的密码,但如果从网站对密码的识别上做一些手脚的话,即使是很简单的密码,也可以防止被黑客破解。方法如下: 让网站的密码识别系统除了识别用户输入的字符串之外,还同时记录用户输入该字符串的顺序,也即记录输入字符串时额外按的“↑”“↓”“←”“→”键,甚至“delete”和“backspace”键,用户在登录网站的时候,只有按自己所规定的特定顺序来输入那个字符串,才能被网站认可,仅仅输入相同的字符串而顺序不对的话,是无法登陆网站的。 举个例子: 比如说我的密码是“123”,很简单吧。但是我实际上是先输入的“2”,然后按“←”,再输入“1”,然后按两次“→”,最后输入“3”,我的实际输入顺序是“213”。这样即使我的密码被别人看到了,他不知道我是怎么输入的,也要实验好几次才能够登入网站。如果我把输入“123”的过程再复杂一些,比如说我先输入了“zhulaojianke”,然后用鼠标全选,再输入“123”覆盖掉那串字符,我实际的输入顺序是“zhulaojianke123”,但出现的密码字符串仅仅只有“123”,我估计基本上是不会有人能够破解了。
推荐两个公司的手机数学游戏 今年春节的时候逛App Store,找到两个不错的公司,他们给出的数学游戏很烧脑的。 一个是Horis International Limits,他家出的一套几何作图游戏,包括Euclidea、Pythagorea、Pythagorea60°、XSection,还有一个关于数论的游戏,Tchisla,玩儿到后来都很变态的难。 有一个贴吧专门讨论这一系列游戏的,cyhdyyxsb吧,各位若感兴趣过去看看哈: http://tieba.baidu.com/f?kw=cyhdyyxsb&ie=utf-8&red_tag=k1054628258 另一个是康思系列,Conceptis Puzzles,他家的游戏形式很创新,种类太多,我就下载了两个:岛、数回。难度上不算很变态,“岛”我已经初步打通关了,之后我购买了“非常困难”等级,还没琢磨透。 嗯,还看到有人对康思岛写了篇论文…… http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fwenku.baidu.com%2Fview%2F62b2c5802b160b4e777fcfbe.html&urlrefer=a5fbc59e733189d71ebc413704d343d6 我现在正在攻“Tchisla”。不知道各位对这个游戏有什么好的思路没有? 这两个公司的游戏都有iOS版和安卓版。 各位有什么好玩儿的烧脑数学游戏,也希望在这个帖子里分享哈!
看到一个测评,MP4.0继续被大牛们骂成屎,释怀了 我就不转载和翻译了,对MP4.0感兴趣的自己看。 网址: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fwww.ptcusercommunity.com%2Fthread%2F142341&urlrefer=0513cfc17aadd7d837d9baaf48a6ab17
我发的帖子都被百度自动删除了? 试试看。
不知为什么我回复的内容不能显示出来 @大海的暴怒 ,把你的文件上传,excel文件里面的数据都转移到MC里用矩阵表示,避免我下载之后发生引用错误。 我怀疑你所说的计算缓慢是因为那两个循环积分闹的。我比较奇怪,本身是一个离散的系统,为什么要用积分呢?而且你的积分公式里用的是连加,Σ,这使得每次循环都要让MC自己展开一次连加式,尝试用符号计算把连加简化一下,然后再积分。 MC15M040优化了积分引擎,不知道你使用的是哪个版本。 wwwdongliting所计算的有限元要比你这个复杂多了,也没见他说计算速度慢。 还有,说句题外话: 我这两天琢磨着想修改MC吧的那一句简介:用最烂的数学软件解决最麻烦的数学问题。不知道各位是否同意这个想法。
【灌个水】给各位先拜个年儿 :) 整个丙申年,我都特别忙,没时间来MC吧捧场聊天,而且看现在的趋势,之后的几年我都会是这样了。 大概浏览了这一年的帖子,不怎么多,很快就看完了,有以下印象: (1)吧友翻老贴的能力有待加强,90%的问题都是老问题,没什么意思的; (2)吧友对MC的特殊的思维方式的理解还需要继续锻炼,希望有识之士能够促成MC培训班或者公开课之类的教育交流活动; (3)吧友对MC的基础应用问题还没有解决,平时太缺少练习和学习了,而此时就直接上实际工程计算,难免就问题多多了——当然这也是使用MC普遍存在的误区; (4)非常感谢@月城公寓寓公 以及几位大吧、小吧的努力,这一年各位做得不错。 前几天我看到一个新闻,说人工智能软件已经可以做到自己编写人工智能软件了,嗯,几年前还有一个类似的新闻,3D打印机可以自己打印出3D打印机了。以后要想在社会上混口饭吃,我感觉无外乎3种情况: (1)自暴自弃者,既然机器什么都可以干了,还要我来工作什么?反正物价已经很便宜了,社会福利也很好,就让科技养着我吧。呵呵,“自暴自弃”说起来不是很好听,但这也是人类科技发展的目的呀,能够让人们更多的享受人生,不是很好么?无论是宅在家里看漫画,还是到学院里去阅读历史、政治、经济等等思想宝库,还是到全世界甚至到火星去旅游,拍一些影视剧,品尝一些高级的食品,都是好的。 (2)人工智能行业及周边行业的人员,这将是一个很壮大的队伍,可能是几个垄断的公司,可能是一个帝国,他们托起了人工智能的研发、设计、制造、运行、维护以及周边所有的条件。收入很好,掌握着先进技术,可能很繁忙,至少不会无聊。 (3)并未失去人类爱玩儿好动的天性的一群人,继续探索科学,继续开拓人类认知的领域,继续玩儿艺术,继续搞奥林匹克或者极限运动,做所有人工智能做不到的事情,只有人自己才能去做的事情——尽管这样的事情看上去可能越来越少,但我感觉当人们适应了高级思考,肯定会玩儿出新花样的,这些人继续给地球制造各种人类文明遗迹。或者是人工智能尚不能到达的偏远地区,人们依旧享受着低科技的美好自然生活——也有可能继续为改变恶劣肮脏的环境而奋斗呢。 我想玩儿明白MC而且痴迷于此道的朋友,或许会成为第(3)种人吧,不是说人类的将来需要数学家,而是只要有人类存在,就会存在数学家,数学家是灭不绝、死不完的。 今年网络上的过年气氛很浓重,平时不怎么关心年节的我都感受到了。各位明年还要继续忙生活,我这边儿过了年上来就是5件大活儿等着,所以呀,趁着过年这几天好好休息休息,傻吃傻玩,就这么几天,一定不要浪费了。在这里我给各位先拜个年儿吧! 祝MC的老几位,以及经常来的吧友们,新春愉快,身体健康!
【思考题】用MC编一个简单的康威“生命游戏” 好长时间没有出思考题了,MC吧里也没有别人来调动气氛。2016年我太忙了,疏于照顾这里有1年的时间,真是对不住各位。以后会更忙,真没办法。不发牢骚了,我争取2017年能多在MC吧里组织大家一块儿玩儿吧。 这道题有些难,我大概试了一下,如果要做一个比较好的简单的细胞自动机,而且用动画来表示出细胞生死变化的一系列过程,需要点儿思维技巧,如果通过遍历的方法来驱动细胞自动机的话,计算量就非常大了,而且会算错。效果最好的动画是将矩阵转化为黑白图片的样子,如果单纯的看矩阵的话,有些费眼睛。 康威的“生命游戏”是什么,请百度百科“生命游戏”和“细胞自动机”两个词条,或者wiki一下“game of life”,说得更清楚周到。有一个专门讨论“生命游戏”的网站叫“lifewiki”,各位如果有兴趣可以去看看。嗯, 科研圈的文章《这个游戏没有玩家,为何在学术圈火了半个世纪?》:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fchuansong.me%2Fn%2F1453564044122&urlrefer=4f3599acf16d3de577bd6ec81e0fe2e2 这是我几天前从一个叫“科研圈”的微信公众号上看到的,已经写得非常棒了。我几年前也玩儿过相关的软件,但当时不了解规则,没细致的研究它。 规则大概如下(抄科研圈的那篇文章里的): 康威在挑选这些基本规则的时候花了很大的力气,还进行了很长时间的实验。他的目的是让整个群体的行为变得无法预测。他规定细胞的生死或繁衍的规则如下: 生:与2或3个细胞相邻的细胞将活到下一轮;死:与4个及以上细胞相邻,则因为过度拥挤而死;与1个或0个细胞相邻,则因为孤独而死;繁衍:一个空格若与3个细胞相邻,则在下一轮时,这个空格内将产生一个新细胞。看完科研圈的那篇文章,我想各位已经知道这道题要做什么了。我说说题面: (1)做一个10×10的全0矩阵M (2)在M中自定义(可随机安排)一个简单的初始图形(建议使用“滑翔机”图形,比较方便验算。我也鼓励自由发挥啊!),可以用1表示,在黑白图片里可以用255表示(3)录制一个小动画,完成初始图形在“生命游戏”规则下的前5步变换(可以更多的步数,但不知道MC能否正确的做出来,我没试过) (4)当M中的点超出了10×10矩阵范围时,M内的变换过程不应出错——也就是说10×10矩阵范围之外的场地仅是在动画里不显示出来,并不等于都是0。 嗯,以上(1)、(2)、(3)条比较容易做到,第(4)条挺难的,我还没有太好的思路。 给大家介绍一个不错的康威生命游戏的模拟软件——比如手机上的那种小APP要好很多—— http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fgolly%2F%3Fsource%3Ddirectory&urlrefer=7ba294e006559d51f5d9fc4606831c1e 里面有一些很牛掰的生命游戏作品,这玩意儿很烧脑的。 我从科研圈的那篇文章中感到,康威的生命游戏不太适合于用MC来实现,MC处理程序的过程是有序的,一维的,而康威的游戏是2维的(我找到了3维的康威游戏),而且所有点的变化都是条件触发的,用MC处理的时候,如果要满足这个条件,就需要每次变换都遍历一次矩阵范围内的所有的点,需要的计算量就非常大了,而且非常容易出错——各位自己试试看就知道了。也就是说,这种游戏我感觉不适于用图灵计算机来做,不知道,得花一些时间才能想明白。 据说生命游戏与后来的分形有一定关系,所以希望MC吧里对分形感兴趣的朋友也来试试看这道题哈!
有谁知道充电盒子背面的那个金属条是干什么用的? 是蓝牙天线么?
苹果推迟airpods发售的3个可能原因 (1)样机的用户试用满意度不高,因此进行技术开发完善,提高w1芯片能力,为airpods增加如手势控制音量这样的功能; (2)airpods生产过程中发生了严重的质量问题,成品率太低,修改生产工艺和流程线; (3)苹果意识到airpods的短板,但无意在这一代改进,只好拖延发售时间,与潜在市场打心理战,使潜在用户在等待的这段时间里降低对airpods的接受和好评门槛,认为不管怎么样只要能买到就好,而不再有其他更过分的要求,属于饥饿营销。 根据苹果这几年的尿性,我不乐观的感觉第(3)个原因的可能性最大。
【资源】一个老外的Mathcad博客 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathscinotes.com%2F&urlrefer=d759dc7cb9524ae906a4b2eb303f862f 从谷歌搜“blog mathcad”可以看出,大部分有意思的Mathcad非教学资源都在博客里面呢。很多是自娱自乐的,我也感觉MC是一种很高雅的自娱自乐工具。 这个博客的作者自创的一系列MC应用案例,我感觉大部分是计算书吧,但不提供下载,仅供欣赏的。
【思考题】四摞饼问题 今天和同事聊数学建模的事儿,他提出了一个数模题(跟我们实际工作有些关系),可能是和组合有些关系(希望@月城公寓寓公 别挠头哈),我初步试了试,感觉这个题有点儿意思,简单的编程竟然做不到。 题面:(具体为什么要这么做,涉及专业知识,我就不解释了,总之,我在这里已经把这个实际问题抽象为一个数学问题了。) 有一个方箱,假设它的高是2m,上方开口,俯视图如下:分成4个区,如“田”字形。现在向里面放“饼”,饼的直径与田字格中每个小格子的边长是相等的,也就是说上图中4个区域中,各能够放一摞饼。填充完毕后的俯视图如下:每个饼的厚度不一样,最小约为20cm,最大约为40cm,而且在这个范围内不是正态分布的,可近似看成均匀分布的。 现在我们有一个大转盘,大转盘分批提供这些饼,每一批提供8个。这里分批的意思是:将8个完全放置于桶中后,转盘再提供8个新的饼。 限制条件: (1)使用饼以上图的方式填充箱子,填充完毕后,最高的一摞饼的高度不能超出箱子的上沿,也即不能大于2m。 (2)因为在实际中你不知道下一次转盘会提供8个什么样的饼,所以在此程序中禁止使用一次生成24或32个饼之后,再统一进行排布计算。必须一次生成8个,填充完毕后,再生成8个! 如此填充完之后,到最上一层,各摞饼的高度肯定是不一样的,有的高一些,有的低一些。 问:如何编写一个程序,能够满足以上要求,并使填充后各摞饼之间的高差最小,即Max(饼层)-Min(饼层)的值最小。 提示:一次转盘提供的饼的数量请使用runif(8,0.2,0.4)生成,产生的随机数精确到mm,也就是0.001即可。 这道题最后需要给出的结果是这种形式的:其中的0..7为转盘上的8个饼的序号,子矩阵中的每1列对应着题面中田字格的4个象限。这个向量的总行数(元素数)对应着在桶中摆放多少层,比如上面给出的这例子中,就是摆放了4层,每一层中的每个象限中分别摆放了2个饼。 当然,也可以出现以下的情况,也就一个象限中摆放1个厚饼,另有一个象限中摆放3个薄饼,那么就如下图的方法表示,矩阵中空白的地方使用NaN填充。因为这道题我还没有找到最终解,也就是最灵活可靠的计算程序,所以有可能会分为几种情况考虑,不知道呢,如果各位感觉需要分为几种情况考虑的话,请把所有可能的情况的程序都给出来吧。 这题有些难度,各位做好心理准备。
【思考题】最佳的货币面值组合方式 好久没出思考题了,前几天我从微信公众号“超级数学建模”上看到了一个报道,说加拿大滑铁卢大学计算机系研究员(这个系就是Maple的诞生地哈!)Jeffrey Shallit通过数学建模解出来我们现在的货币组合方式——1元、5元、10元、20元、50元——效率并不好,他算出使用1元、5元、16元、23元、33元这种面额的钞票是最佳的,因为同样是通过面值组合形成1~99元,按他给出的新组合,平均仅需要3.29张。 嗯,公众号里的插科打诨我就不抄了,只说题面,希望各位通过自己的建模来检验一下Jeffrey Shallit的计算是否正确: 平时我们去超市买东西,每次使用100元一下数额的钱(1元到99元),需要用1元、5元、10元、20元、50元五种面额的铅笔组合而成,有的时候需要一张,有的时候需要两张或更多。比如你需要31元的零钱,可以用三张10元和一张1元,也可以用一张10元、一张20元和一张1元,前一种需要四张纸币,后一种需要三张。在组成31的所有可能方案中,10+20+1是最佳的,它最节省钞票张数,也就是说,凑成31元最少也需要三张纸币。 我们可以对1到99之间的每个数额分别算出来它最少需要的纸币张数,这不难通过编程实现。这样一来就能知道使用这五种面额的人民币组成99个数额,在最“环保”的组合方式下,平均需要多少张纸币。 Jeffrey在电脑上把参数修改了一下,五种纸币的面额更改为各种其他数值,让电脑程序运行,看一看哪一种货币面额体系在组成99个数额的时候平均最方便、需要的纸币张数最少。形成了下面的表:Jeffrey的思路在题面里也说得很明白,根据这条思路也给出了他的计算结果,公众号里说这是他发表于2003年的一篇论文中的数据。好了,各位,尝试着自己建一个模型来验证Jeffrey的计算是否正确吧, :)
应徐州朋友的要求,编了一个“±”运算 呵呵,可能和书本上看到的公差样子不太一样,在MC的数值计算中结果就是结果,不能像书本上那样给出 1±50%这样的结构。
吐槽一下MC的电子书(内容较多,各位慢慢读哈) 试着做了一个,花了大概30分钟看“作者参考资料”,花了1个小时就做了一个……原来一直以为在MC里做电子书是很高大上的事情,实际做起来,怎么说呢?如果仅仅是简单的电子书,比wiki和PKM要容易;而如果要加上索引,做成可以对关键内容进行搜索的电子书,就比较麻烦了。 MC有两个作用: 一是计算工具,可以进行简单或者复杂的计算,这个貌似是大家都在用的,或者说在很多人看来,MC仅仅就是一个计算软件; 二是知识管理软件,这只有企业级的用户,或者电子书作者才会体会到吧——现在感觉这恐怕才是MC的真正面目。 嗯,我感觉很多单位使用MC做计算书,实际上仅仅是产生了计算的工作表,顶多算是通过相对引用把一系列工作表做成一个整体,可以在不同的工作表之间进行跳转,实际上如果稍作加工成为电子书的话,可能第一次的编辑时间会很长——MC的电子书对格式什么都比较讲究,在“作者参考资料”里关于“什么才是合适的电子书格式”单独安排了一章,其实你也不必完全按照它的建议去做,只是如果完全采纳它的建议的话,做出来的电子书会很好看,或者说比较适于阅读和重复利用——之后就是简单的复制、修改了。 MC具有很强的外链、内链、相对引用\绝对引用、OLE对象操作等等功能,仅仅做成数学计算工作表确实有些浪费了。嗯,不过MC版本的PKM或者PIM也有它的软肋——就我这段时间学习的各种可以整合知识的软件来看,这恐怕是绝大多数类似软件的软肋——搜索功能很差劲,MC提供了“索引”可以搜索电子书中的重要的知识点,而一般的ctrl+f页面内搜索也不会自动生成list。(相较之下,wiki的灵魂是wiki字,zim的灵魂是tag,能够充分的利用正则表达式来对电子书文件夹里的所有全文进行搜索并给出list的软件真的太少了。) 实话说我也不会完全依靠MC的电子书系统来整合自己的工作表的,其他的都还好说,主要是“制作索引”这个步骤太麻烦了!但如果没有索引的话,MC的电子书就仅仅是一大堆工作表的打包工具,也就没有太大的意义了。 但有一点可能是以后会经常用到的,就是如果我用MC开发软件的话,用这个电子书做成函数说明文件还是很不错的——就像那4个扩展包的样子——而且所有的可引用.xmcd或.mcd文件在编写电子书的过程中都被很严谨的格式化了,对于统一的引用也是有好处的。 下面说说怎么做这个电子书吧,原文是英文,我自己做过了一遍,也发现MC自带帮助里有些错误,这里说说我实际怎么做的。 先解释一下电子书的样子:注意上面的工具条:回到电子书封面,对应.hbk文件中的SPLASH,如果在.hbk中不给出这个变量的话,打开电子书点击这个图标时什么也不会发生。打开地址栏,MC的电子书界面实际上是当年Mathsoft公司在IE5.0的基础上开发的网络浏览器,而Mathcad的所有工作表都被定义为是一个网页,在没有上服务器的时候,它就是基于本地硬盘的静态网页,嗯,所以我们在操作MC工作表里的区域的时候多少都有些像是在用DreamWaver。 这里再多说两句,在MC15M030中的“作者参考资料”中的“发布html网页”一章里还提到了Calculation Server,可以将MC工作表挂在服务器上实现通过IE浏览器来进行计算,但是这回我看M045的帮助文件里就直接把Calculation Server部分的内容给删掉了,也就是说在M045中仅仅只能输出类似于pdf文档的静态页面了——实际上Calculation Server的功能在MC12的时候就消失了,不过一直到MC14仍旧可以通过挂在Calculation Server上实现网络上的实时计算(Ochkov先生最后的几个著名的热工水力的计算表就是用MC14挂在他的Calculation Server上的。),到了MC15的M040版彻底不再支持Calculation Server,因为MC11的Calculation Server是基于msxml4.0构建的,而M040使用的是msxml6.0,Calculation Server的版本不能向上兼容。M040的相关帮助我没有看,可能在M040的时候,PTC就已经把这方面的帮助内容给删掉了吧。 呵呵,再补充两句,以前有些吧友问过,甲方的电脑里没有安装Mathcad,我们自己编写的计算书在他们的电脑里打不开,他们也就看不到我们的计算过程了,嗯,其实可以把MC另存为pdf或者html文件,这样只要有pdf浏览器或者IE浏览器就可以看到你的工作表了。回到前一个视图。进入后一个视图。上一章节。下一章节。这两个与TOC是有关系的。历史记录列表,里面记录了你都浏览过这个电子书的那些章节,从这个列表里可以更快速的进行跳转。搜索电子书,就是通过“索引”文件找到自己关心的章节,然后点击章节既可实现跳转。复制。保存。这是MC对电子书的一种保护机制,如果你对电子书进行了修改的话,此时直接退出,MC不会提醒你是否保存修改,然后当你再次打开电子书的时候,你看到的样子仍旧是作者发布时给出的样子。如果非要进行修改,就需要在修改之后点击这个保存,或者按ctrl+s,但此时弹出来的页面是“另存为”,也就是说允许你修改并另存成其他文件,但原书的内容仍然是不会修改的。 这里还是要多说两句,在MC的“工具”菜单中有一个“保护工作表”,给出了3了保护级别,“文件”“内容”“编辑”,并让作者给出保护密码。“文件”级别,就是需要使用密码才能打开文件;“内容”级别,就是需要使用密码才能复制、剪切文件中的区域;“编辑”级别,是需要密码才能对工作表进行编辑,比如说修改某个变量,给某个常量重新赋值。MC的区域是默认“防止区域被编辑”的,但这个选项仅在“保护工作表”功能启动的时候才有效用。在启动了“保护工作表”的前提下,如果希望用户可以改变其中某些区域赋值,那就在这个区域的“属性”中取消“防止区域被编辑”选项就可以了。 更神奇的问题是,这个保护工作表的密码是可以破解的!用一般的破解rar、zip文件密码的软件就可以破解,尤其是.xmcdz文件的密码,它本身就是一个zip文件,相当没有密码能力可言。但是呢!?MC的区域保护密码是无法破解的!因为它不存在与xml文件内,也不是hex格式,到底是什么我问过好几家大牛,他们都说不清,但就是没办法破解!没有MD5,没有Hash,没有Shell,连原始的xml文件中都找不到任何密码的踪影,什么都没有,可没有密码就是打不开。多特么神奇!一个MC里有两套密码管理机制,而区域保护密码机制给人的感觉就是胡添出来的。打印。调出Mathcad的help。 首先是准备.hbk文件,这个文件也很奇特,实际上它就是一个.txt文件改了一个文件名,但当把扩展名改为.hbk文件之后,你用文本编辑器(多牛逼的都可以)是无法通过“打开”命令直接打开这个文件的,系统会提示你“这个不是文本文件”,那么怎么打开呢?有两个方法: (1)首先你得安装一个高级一些文本编辑器,最好是可以编辑hex文件的,然后让这个文本编辑器与你的右键进行系统级的关联,然后右键点击那个.hbk文件,选择这个文本编辑器,就可以打开了。 (2)把.hbk文件的扩展名改为.txt,然后双击…… MC12以及其之后的所有MC根目录里的文本文件——.txt,.hbk什么的——都是用unicode编码编写的,所以你在编写.hbk和之后的.txt文件的时候一定要小心,要保存为unicode编码——我记得Win7中文版的默认记事本文件编码是GB2312,这个在MC中是认不出来的。而MC11以及其之前的文本都是用ASCII编写的,用任何编辑器都可以打开,保存,没问题。 .hbk文件是一个有固定格式的文件,格式的规律如下(使用.txt文件编辑): “.”代表元数据,关键是path部分不要写错,其他的错一点儿也无所谓。 “;”代表注释,不会被编译,随便写什么话都可以。 格式呢,大概是这样的: .version 14 .title xxx .noscriptwarning .path xxx .path xxx\xxxx …… SPLASH xxx1.xmcd : xxx1 about1 xxx1.xmcd : xxx1 about2 xxx2.xmcd : xxx2 overview xxxx.xmcd : xxxx TOC xxx3.xmcd : xxx3 xxx4 xxx4.xmcd : xxx4 xxx5 xxx5.xmcd : xxx5 …… 解释如下: (1)第1行是声明电子书所使用的计算引擎,这个在MC14之前的版本中很重要,但是在MC15中就无所谓了,因为MC15可以打开所有.xmcd和.mcd文件,无所谓什么计算引擎的指定了,不管你声明了什么计算引擎,用的都是version 14的引擎。 (2)第2行是声明电子书的名称,这个名称一定要和.hbk文件名字和包含相应的MC工作表的文件夹的名字相同,也就是说这3个名字是一个名字,否则在之后的索引编译中就会报错。 (3)第3行是告诉MC不要为自己工作表里的VBS插件代码报警,如果你的工作表里根本没有用到VBS插件的话,这一条也就没有必要写了。当然,如果你要用VBS编一个宏病毒的话,这句声明就让你顺利达到捣乱的目的。 (4)第4行给出包含你的MC工作表的文件夹路径。如果使用path开头呢,就可以使用相对路径了,如果不用path开头,就要把绝对路径给贴上,但不管是你写了相对路径还是绝对路径,在你完成了索引编译之后,MC都默认的是相对路径,也就是说这个声明仅影响到索引编译(如果你没有编译索引的话,还会影响到其他用户的使用(他们不一定会把电子书文件放在你的绝对路径所指定的文件夹里))。 比如说电子书中所包含的MC工作表我给打包之后放在了C:\program files\mathcad\mathcad15\handbook\xxx\中了 那么我写绝对路径就是: .C:\program files\mathcad\mathcad15\handbook\xxx\ 使用path呢,就是: .path xxx 然后还要给出子目录的路径,相对路径是这样的: .path xxx\xxxx1 .paht xxx\xxxx2 嗯,不过呢,这第(4)行声明路径的步骤貌似不是必须的,至少我看MC自带的所有.hbk文件都没有声明路径。 (5)SPLASH声明是一定要放在第1位的,这是你的电子书封面,如果你的电子书没有封面,那也就不用声明了。 (6)TOC声明很重要,不能没有,如果不给出TOC的话,你打开电子书之后就是一张白板,什么内容都没有,也就是说你必须要为你的电子书制作一个目录页,然后使用超链接把一系列的MC工作表联系起来。 (7)about、overview声明可有可无,这相当于一本书的引言、前言、概述,这两个声明是放在TOC之前还是放在TOC之后,根据你的个人喜好而言,这些工作表在,hbk中所处的位置也仅是影响到索引的顺序,但索引文件还可以进一步编辑,所以放在哪里无所谓的。 (8)再之后就是正文的一系列工作表了。 在这里可以看到每个.xmcd文件的声明都是3段,大概格式是: aaa bbb.xmcd : ccc 其中aaa是MC识别用的文件名,bbb是实际工作表文件名,ccc是当你鼠标处在链接上时在状态栏中所反映出来的字符串。aaa、bbb、ccc可以不完全相同,但为了方便编辑和修改,我觉得还是尽量一致比较好。 注意在“:”前后都要有空格!而且是半角空格,也就是英文空格,否则MC不会识别的。 (9)如果一本书非常大,在一个主目录下,又要开几个分目录,怎么办呢? TOC是一定要有的,这是主目录。分目录的格式是toc_xxx toc_xxx.xmcd : xxx_toc 。
更新了MC吧档案至2015年12月23日晚8点 网址: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathcad.farbox.com%2Fread%2Fdocs%2F4-can-kao%2F1-mcba-dang-an&urlrefer=baacd5d0faab41183eabae16f1de9e81 共收录1187个帖子。 这段时间从farbox开始,我学了不少跟MC无关的东西,比如说我学会了怎么在word里使用正则表达式了——Regex真的很让人着迷,刚才翻MC的根目录才发现它的两个dll库也是用perl编的。 撒手的这段时间,MC吧里各位同仁很是帮忙,非常感谢,尤其感谢月城公寓寓公,谢谢您 :) MC的学习曲线按说不是那么陡的,可我在整理MC吧的法宝时感到咱们这里涉及到高级应用的帖子还真是不很多。其实就像吧规里说的,不要限于MC,我们自己用什么软件做了些什么好玩儿的东西都可以拿过来分享的,满屏的MC——还大多是基础应用和bug报警——实际上降低了论坛的含金量。 呵呵,各位继续努力哈,我这边儿还要等一段时间才能满载回归。 朱老剑客于2015年12月23日
MC15M045发布了 貌似论坛里还没有人提到这事儿,我也是从0daydown上才发现的……说来好久没去PTC论坛了哈。 发布日期是12月12日,一周前。 发布声明: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fwww.ptcusercommunity.com%2Fthread%2F129763%3Fq%3DM045&urlrefer=48df944197de9dcc880badf7cc529167 http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fwww.ptcusercommunity.com%2Fdocs%2FDOC-8181%3Fq%3Dm045&urlrefer=455a44052ced5a8cdbe83e8c4de21ba7 我还没细看,等晚上再说吧。
【吧务】请修改置顶帖的吧务出来报个名 我不是说置顶帖是什么只有我一个人说了算,但我置顶的两个帖子是咱们MC吧最重要的两个帖子,逻辑很简单,如果你想开一个关于Mathcad的论坛,首先需要有人使用MC,所以有了下载安装贴和初学者入门,其次要有吧规。 我不知道这个闲聊贴对MC吧有什么意义,http://tieba.baidu.com/p/4203849687,所以还请修改置顶帖的吧务出来报个名,说说你的理由或者逻辑,咱们商量商量,如果说不出来,那就下不为例。吧主向度娘投诉是很有说服力的。
【吧务】月城公寓寓公请进! :) 谢谢您的建议!谢谢正则表达式!谢谢haroopad有特么正则表达式功能! 您说的点击MC吧档案中的链接然后可以在另外的页面打开的功能我已经做好啦,请检阅 :) http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathcad.farbox.com%2Fread%2Fdocs%2F4-can-kao%2F1-mcba-dang-an&urlrefer=baacd5d0faab41183eabae16f1de9e81
在学习正则表达式的时候发现了一个全文搜索的神器 太不可以思议了,整个过程我都在重复“WTF”…… 这玩意儿从我255GB的文档盘里用了3分钟找到了所有文本里含有“mathcad”的pdf文件,并列出具体在哪一行。嗯,我也没用regex……就是干搜的,也没给什么索引。 自从前年我试用了一次file locator pro之后我基本上对全文搜索就死心了,太特么慢了——当时是在我的单位工作电脑上,文件的数量要比家里的这个少一半,但搜了一个我的专业上的关键词用了30分钟。当时我觉得差不多应该就是这么多时间吧,终归文件很多,也有很大的文件。现在才知道当时的我很幼稚。 这个是这个软件的网站:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.funduc.com%2F&urlrefer=b16085a6a2ce8b48c7770afc01edde37 是共享软件,不知道能免费用多少天,我试用的这个是一个低档次的,Search and Replace,还有俩更牛掰的(pro版和企业版)。嗯,这个正版是25$,pro版是30$,企业版的我没看价钱。 另外RegExp这玩意儿的真的很牛掰,我在Haroopad里用正则表达式搜索编辑MC吧档案可以批处理很多东西了——现在刚开始学,怎么更随心所欲的定位,我还没掌握。 推荐两个国内搞正则表达式很敬业的个人网站: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.regexlab.com%2F&urlrefer=122ddf2a4981c3f2658b3bdbec91dddd http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fdeerchao.net%2F&urlrefer=ae9f84611009bbcb5ae0a4c1d43947f9 我在MC中试了一下,貌似不支持这个,很多不专业的文本编辑器也不支持这个……不知道为啥。
【发布】法宝贴 在法宝上发布的内容有些是和MC吧里不同的,我精力有限,就不在MC吧里重复发了,仅在此贴里以回复的形式给出链接。 对法宝里进行的大幅度的修改,也以回复的形式给出链接。 禁止插楼,违者斩立决。若有问题,请单开贴讨论! 嗯,顺带也是给法宝拉动一些人气……
用过MC14的朋友请进 我看俄文版的MC发展史里写着“explicit”关键字是MC15里才出现的,我感觉不太可能,希望用过MC14的朋友帮忙确认一下MC14的符号计算关键字里是否也有explicit关键字,谢谢哈! 我试过了MC11,至少在MC11的时候是没有explicit关键字的。
整理MC的发展史的一个发现 我原来从Wiki的Mathcad页面里看到MC是解释语言,今晚我整了一晚上MC发展史,又深挖了一次Wiki和Github,才知道MC在编程界被归类为伪代码,http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FPseudocode&urlrefer=1c8a206b545133a77f5895e70d32a26e,而解释语言里则包括了不少我原来以为是编译语言的东西:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FInterpreted_language&urlrefer=8a055ae6656d714fa04e4e7b43d0d6ab 这个是Wiki版的编程语言分类: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FList_of_programming_languages_by_type%23Interpreted_languages&urlrefer=5ca6798e602bd9b989f38811745dd164 这个是Github版的: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgist.github.com%2F2355590&urlrefer=e5d45e92d1fac01fda9815cfb94ff8c3 另外我还发现在Wiki里要研究MC发展史是不能看英文版的,而要看俄文版的和乌克兰文版的: 俄文版的MC发展史:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fru.wikipedia.org%2Fwiki%2FMathcad&urlrefer=2212a854284e7774de8c7d98a6e8e514 乌克兰文版的MC发展史:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fuk.wikipedia.org%2Fwiki%2FMathcad&urlrefer=3a011d406ad4165a3227a267fccee75f 我打算明天花点儿时间把这两份文献给翻译出来。
【吧务】法宝已经开张,希望各位继续支持MC吧 法宝框架已经搭好,就算是开张了吧。周更少许,目前没什么内容,慢慢做。 我打算全力搞法宝站点,mathcad.farbox.com。这段时间整理内容的过程中我感觉,能够把内容集中起来很不容易。目前看邀请多个人共同来做这个网站基本上是不可能的了,这不是社团博客那么简单的事儿,所以为了不使咱们力量更加分散,我不希望咱们MC吧再出另外的MC门脸站,与其各立山头的水裆尿裤,不如合伙儿把这个忠义堂搞大,有一个基地可以吸引各路英雄。 我在法宝关闭了评论功能,仅是网页展示,内容什么的咱们一块儿商量着做,我已经把法宝的评论链接指向咱们MC吧了。这里才是法宝的真身和后台,法宝只是MC吧的门脸儿。 希望各位继续支持MC吧,我不希望我离开之后咱们这里的朋友们就中止了思考和实验。我希望大家能够做到: (1)维护吧规。 (2)主动梳理、完善各位自己觉得满意的工作表,给出简单且必要的思路说明和注释(千万不要太多,我还要用统一模板做进一步修改),以【投稿】前缀单独发帖。 (3)指出法宝所发布的内容的不当之处(框架不能修改,只能改内容,否则前功尽弃)。 (4)各位自行维护MC吧发言质量,丰富MC吧的社团生活,比如提一些“思考题”,展示一些自己的工作表,做一些工程计算实践等等, 总之,别一个原创帖都没有,咱们至少别让MC吧首页都被提问帖覆盖了。 法宝项目的目的是为了扩大MC在国内的影响。一个人业余时间制作、维护网站非常累的,希望各位理解和支持。
刚发现MC11不能定义函数变量,毁三观了 :( 看图吧: MC15里面MC11.2a里面这样的话,有好多有意思的程序都不能在MC11里实现了。:(
【吧务】我做了个博客,各位看看能否加入进来 博客的地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathcad.howbk.com%2F&urlrefer=2f01129c34b7b9fa629ffdd7d839eb81 原来我还有过一个关于MC的博客,但被我水了……这两年在MC吧里渐渐感到应该有一个地方集中的发布一些资料,放在论坛里的话很分散,不容易找。 现在这个博客页面很简洁,速度还挺快,嗯,也有一些让人看不顺眼的地方。看设置貌似是可以做成团队博客的,但怎么做还需要各位自己去试,我这边儿试不了。如果技术可行,咱们能够做一个团队博客的话,那么以后有些门槛儿的东西咱们打扮好了就发到这个博客里来吧,呵呵,然后像我这样把链接放进MC吧里。 如果我在博客里转载了咱们MC吧吧友的精彩程序,我一定会注明作者和原帖链接的,绝不侵权。 MC吧还是主要的研讨基地,这个博客仅是发布的窗口,不知道我这么解释清楚了没有。
从淘宝上看到了一个有意思的 这貌似是一个光学专业人士卖MC15M040的页面: http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fspm%3Da230r.1.14.19.oFZBll%26id%3D41878053424%26ns%3D1%26abbucket%3D3%23detail&urlrefer=d4a51b357b4e4f1768bd195ffeb89019 卖得还不错,有2个交易记录,8个用户评论。 各位看到他的这句话是不是似曾相识?嗯,我在置顶贴里也是这么说的:能卖当然好,证明确实存在不来MC吧的不看置顶帖的二逼的大多数。 嗯,在这个商业交换中还证明更重要的一点,在咱们MC吧发一个帖子值20块钱,比五毛钱略多一些。
【史料】MC2.0的说明书 MC2.0,1987年出版,就是http://tieba.baidu.com/p/4122362768中说到的David Blohm惹祸使MC陷入广告危机的那个版本——在国内引入(盗版)的最早的版本是MC2.5。从这份资料中的算例来看,当时的MC好像也没有当年新闻报道的那么糟。 从这份资料看(刚入手,还没细看),当时的MC是运行在DOS上的,使用命令行和方向键进行操作。值域变量、内置单位、内置变量、求解命令块、快捷键等等这些MC自有的奇葩设定,即便不是与生俱来,至少在它的第2版里已经有了,连错误提示信息都差不多。与现在的MC15相比,最明显的区别是没有3D绘图和编程板。 嗯,这份资料说来对现在的用户也没什么大用,可能对于咱们MC吧不少90后、00后的朋友来说就是个史前文物吧。再过一年,Mathcad就30周岁了,这份28年前的史料多少能够让我们感受到Mathcad独特的地方,作为MC考古学爱好者来说也是份不错的收藏吧。 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fs%2F1pJ5Wre7&urlrefer=217112fed03238b4cc48b3ec7ff953e5
【转帖】Valery Ochkov先生的Mathcad讲稿 今晚研究multidfit()函数苦于找不到算例,就谷歌了很久,误打误撞的找到了这份Ochkov先生的Mathcad讲稿。其可贵之处在于这是当年Mathsoft论坛里以Ochkov先生牵头的几个大牛们共同编写的讲稿,有些思路非常激动人心! 这是这份讲稿的第4版。第1版是MC6.0plus的;第2版是MC7.0pro的;第3版是MC8.0pro的;第4版,也就是最后一版,是MC12的,之后又在该基础上更新了一些MC13和MC14的工作表。 该页面中pic是图片,mas是Mathcad的网页执行程序(需要Water and Fuel Technology Department, Moscow Power Engineering Institute的学生账号登录……),还有的就是可以下载的.mcd和.xmcd格式的工作表了。 通篇俄文,不要打我…… http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Ftwt.mpei.ac.ru%2Fochkov%2FMathcad_12%2FFig_Titles.html&urlrefer=903dc559c5f78bc411d40fed54f5d7b4 目录: (1)Mathcad界面 (2)求解 (3)优化 (4)技术统计(貌似是回归和拟合) (5)Mathcad的ODE和PDE (6)Mathcad编程 (7)从工作表到网页:Mathcad Application Server(也就是Calculation Server) 附录
【民意调查】你希望MC吧能够多发布一些什么方面的内容?
Mathcad吧档案更新——截止至2015年10月24日22点 2015年10月24日更新记录: 这次更新对求教程、不知如何分类又无关痛痒的帖子都没有进行收录。部分未解决的问题,我感觉有必要得到大家注意的,在该类后面加上了“(未解决)”的标识。另外有一部分问题,翻以前旧帖就可以得到很好的答案,因此尽管在论坛里没有被回答,我已经把它们分类到相应的问题之下了。 (1)收录帖子1103个。 (2)新增了“概率与统计”、“Mathcad内置变量”。 (3)新增“SmartSketch”。如果我们将来会在MC吧里还能够开专贴深入其他有意思的软件,我也会为它单开栏目的。 (4)新增“其他八卦及吐槽”,收录于MC无关的转帖和吐槽。吧友们现在能够在MC吧里放开说话是件大好事儿!希望这个栏目能够渐渐壮大。 这3个月MC吧的吧友气氛渐渐的有了,国有国法,吧友吧规,希望再接再厉! 预计下次更新时间2016年1月26日。 朱老剑客整理于2015年10月24日 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fs%2F1hq54sok&urlrefer=ad3be68974eb7086499259bd5b20254e
推荐多使用MC的“符号”菜单 咱们在MC中使用符号计算,如果不是为了写文章需要保留符号推导过程,仅仅是需要一个通过符号计算得到的结果;或者要对表达式进行比较复杂的符号操作,比如说需要使用符号计算中的关键字,如果不需要这些操作的话,那么,我推荐直接使用MC的“符号”菜单来完成这些计算。 在早期版本的MC中,一直到MC11,使用的Maple符号计算引擎,从MC12开始就改为Mupad符号计算引擎了。Maple与MC的结合很好,我感觉是底层代码的结合,使用“→”进行计算的时候,计算速度和使用“符号”菜单的效果是一样的,非常快;而Mupad就显得是“挂上去的”,用“→”的时候,速度会慢得多,这在MC15M040中尤其显著,前几个版本还没有这么明显。 在MC的help里对这一部分说得并不怎么详细,对help没有提到的,我补充两个,我就喜欢说help里没有的东西: 符号菜单里除了一般的操作之外,还有3个“变量”“矩阵”和“转换”。“矩阵”和“转换”还比较容易搞定,但“变量”中的“求解”“替换”“求导”“积分”“展开为级数”“转换为部分分式”这几项是需要一些技巧的: (1)除了“替换”之外的另外5个操作,你需要选定你要求解、求导、积分等等操作的变量之后,才能在“符号”菜单里激活相应的操作,否则都是灰色的,没办法运行。 (2)“替换”,也就是substitute,比如说你想完成A=B的替换,你需要先复制“B”,然后在表达式里选中“A”,然后就可以进行“符号”菜单里的替换了。 还有,我感觉“符号”菜单里的“评估形态”中的“就地计算”很有用,不会新产生出一行表达式,而是直接在原地将表达式转换为你需要的样子。 时间较紧,我就说这些,也没有截图。具体如何,各位自己感受吧。
【思考题】回归分析的问题 :) 呵呵,我希望这个思考题能够引起@angelycs 的兴趣。 一共4个问题。 第一问: 我定的微信公众号今天讲回归分析,前面的线性回归什么的还能看懂,到后面说到了回归正则化方法就感觉太专业了,简直是云里雾里。各位有兴趣科普一下么? 第二问: 比如说,我用一个简单的二次函数加随机噪音之后生成了1000个数据点集A,然后从A中随机取500个数据点形成点集B,剩下的500个数据点为点集C,然后我分别对B和C进行二次多项式的拟合,得到的拟合系数八成不会一样吧,两次回归的效果与我一开始定义的二次函数相比较的,自然会有优劣之分,如此得到了一个回归误差Δ。然后我又重复上面的动作,得到另外两个相等的数据点集E和F,此时这个Δ还有效吗? 第三问: 如果我选择的数据点集不是相等的,比如说一个是200,一个是800;或者更极端些,一个是10,一个是990,我猜想这个Δ肯定会有所变化的,那么Δ的变化规律是什么? 第四问: 上面我用的是二次多项式做的实验,如果我用线性、三次多项式或其他基本函数做实验,所得到的Δ的变化规律会不会不一样呢?咱们就说多项式吧,Δ的变化规律与多项式的次数之间有没有什么观察上的或者必然的联系呢?另外Δ与我所加的噪音的性质有什么关系么? 以上都可以MC模拟出来,主要是看各位的建模能否有效达到研究的目的了。
【思考题】如何让MC自动判断任意两条直线段是相交 上次的思考题 “对1层嵌套矩阵的所有元素求均值”http://tieba.baidu.com/p/4073612986 被@angelycs 秒破,哎,尽管还是有很多可以深入的探讨余地,但貌似各位只要找到了一个方便的方法之后,就不会再去想其他的解了。我感觉各位还是在追求所谓的标准答案,仍没有脱离应试教育的思维窠臼。 如果我在那一题里说请举出5种不同的编程方法,或许就能把我的意思的传达的更清楚一些吧。 说正题。MC吧里已经有3个提问贴提到了“怎么让MC自动给出任意两条曲线的交点坐标(甚至交点轨迹)”,我这个思考题仅是把那3个提问说得更纯粹一些。 我们在MC中表示线段最常用的方法是组成向量,我举个例子:在这里A1、B1分别是一个2×2的矩阵,按列提取就成了代表X,Y的向量,绘制这个X,Y向量对,就可以得到1个线段。 为了方便绘图,并把问题具体化一些,我把A1、B1顶点的坐标限制在(0,10)范围内。 嗯,基于连续统,我假设A1、B1的顶点坐标取值范围只要是相同的,就对我们的编程不会产生什么影响。所以咱们暂且规定 这两条线段的两端点坐标X,Y值的取值范围都是(0,10)吧。 这两条线组成的图形千变万化,那么: (1)请通过编程让MC自己判断出这两条线段是否相交;如果相交,请让MC自己给出交点的坐标;如果不相交,返回(NaN,NaN)。 (2)让MC给出更多的描述信息,比如说:这两条线段的夹角是多少,是否平行、是否垂直,通过无数次的取值之后,这两条线段的长度和的期望值是多少,等等,自己发挥,也可以不回答。 下面这个是我做的初步分析,希望能够为各位的解题提供一些思路吧。
【思考题】对1层嵌套矩阵的所有元素求均值 这道题是我为我们单位研究生入学考试出的,各位也玩玩儿看。:) 题目: 对任意行数和列数均≤n的矩阵,该矩阵中有任意多个行数和列数≤n的嵌套任意矩阵,为方便检验结果,矩阵内所有标量元素的范围取(-1,1)。 问题: (1)求该1层嵌套矩阵中所有元素的平均值。 (2)将该矩阵中所有嵌套矩阵用其平均值替代,并输出替代后的一般矩阵。 程序如下:以上程序的运行结果示例: 当n=5时题目源程序下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2F1000eb.com%2F1gcg9&urlrefer=02b56f6e5cb8d131174b5424089fe560 要求:所得到的程序尽量简单、高效。
【吧务】更新了吧规 这回的第二版吧规要简洁一些,也比较方便查看了。 删除了“合作计划”部分,不强求了,保持自发、自学的热情才是最重要的。 补充了一条“未关注Mathcad吧的人的提问,一律不予回答”。
貌似PTC准备在MP4.0中加入“长公式换行”的功能了 这一段是原文,来自9月14日的官方博客: I want to use this opportunity to plug a related feature coming in PTC Mathcad Prime 4.0, equation wrapping. In PTC Mathcad Prime 4.0 we’ll be reintroducing equation wrapping, though on a larger scale than in MC15.0. In the legacy product you can only wrap equations by inserting a special addition operator that extends the equation to the next line down. In PTC Mathcad Prime 4.0 you’ll be able to wrap existing equations on addition, subtraction, multiplication and inline division operators as well as naturally break equations at those operators as you write them. Formatting a long equation in your worksheet will become a whole lot easier (and nicer to look at). MP的公式不能换行,这个话题恐怕是近几年PTC论坛里被喷得最凶的一个话题了,在国内的MC论坛里也时有人提到。嗯,现在看PTC的MP开发项目组貌似想明白了,准备在MP4.0里加入这个功能,而且还要比MC15更强,不仅仅是“+”可以换行,“-”“×”“÷”都可以换。 上面那段话里的“reintroducing”和“legacy”这俩词儿用的很让人讨厌。不过能够看出,PTC的编程人员已经些微的理解了当年MC是怎么实现换行功能的那段代码了,多少还是有些进步,用了10年的时间理解一个功能,也是蛮拼的。不过不知道MP4.0何时会出现,下一个MP的版本很可能是MP3.2……而且最近五六年的IT行业很流行吹牛,即使某个牛皮很有幸的被兑现了,也很少能够让用户不失望的。
【吧务】修改了MC的宣传语 如图:宣传语在绿框处,已改为:“请先看置顶吧规,关注本吧之后再发言。” 希望这样的宣传语能够让我以后少说些废话。 关注按钮见红框位置。 还有签到按钮见黄框位置。为了MC吧的级别,我建议各位尽可能 来这里第一件事儿就是签到。
【思考题】控制随机数 (1)给出n个0~10之间的随机数,n>2,使各随机数两两之间的差的绝对值>2。如{2,5,9},这3个数两两之间的差的绝对值>2。 (2)给出X、Y两个随机向量,每个向量中含有n个随机数,n>5,使Y对X做的散点图中所有的点均处于下图所示两个函数所包围的阴影面积内。(3)给出n个0~10之间的随机数,n>2,使所有随机数的和等于10。如2+3+5=10。 (4)给出n个0~10之间的随机数,n>2,使所有随机数的积等于300。如5×10×3×2=300。
「吧务」各位注意 我查了查近几天发言吧友的个人资料,也希望各位热心的朋友在回答问题前也看看提问人的资料,如果提问人没有关注MC吧的话,就不用回答他的问题了,他肯定不会看吧规,肯定是伸手党,肯定不会是MC吧的朋友,不是朋友,也就没必要理睬他们,因为他们的发帖和发言对MC吧的积分一点儿益处都没有,仅只是浪费我们的时间而已。
【接着灌水】我可能会疏于吧务较长时间 前几个月忙于实验,眼看手里这个干了好几年的大课题要完成了,又会有新的课题,但恐怕与数学关系不多了,除了看资料外碰电脑的机会也不会多。此为其一。 几个月没动电脑,对玩儿计算的兴趣也减了不少,倒是想更多的学一些具体的工科知识,而咱们MC吧聊这些多是在计算层面上的,于我利益不多。此为其二。 还有十年我又会重归文坛,已有多位友人召唤,所以得这么点儿业余时间多要用来看书练笔了。此为其三——我是想过在这里发一些小品,不过恐和MC吧太不搭调了。 所以我可能会疏于吧务较长时间,所以吧内活动的组织、吧内的氛围,还望老几位能有所担当。至于吧务团队,有事还望找我商量。咱们的档案我还会定时更新,且偶尔我仍要来发帖聊天。就这样吧。
【灌水】把除了MC之外的其他计算软件都给删掉了 系统提示要升级Win10,闪了好几天了,我对Win7之后的Windows系统一直不喜欢,但也实在受不了微软小插件的骚扰,于是就想趁这个机会给自己的电脑做一次大扫除,把不怎么用的体积有庞大的计算软件都删掉——可确定删什么不删什么,无异于割肉。 去年、前年,这两年为了找能够替代MC的计算软件,我下载安装了不少盗版东西,带有modelica系列的LMS、Maple Sim,带有编程能力的Matlab、NI Labview等等,还有Originlab,还有一些有限元分析的软件,着实的穷玩儿了一段时间,哪个都很好,很强大。这几个月做实验,没时间碰电脑,现在想到要处理数据了,要给实验做数模了,用的最顺手的还是MC。嗯,思前想后,就把其他的那些计算软件都给删掉了,电脑也快了不少。 仅仅用MC来做各种计算,无非就是3件事儿:编程、排版和文件引用。白纸一张,想怎么搞就怎么搞,有什么想法想试试看,新建一个文件就是可以开工。尽管计算速度慢了点儿,不过我也没什么特别着急要紧的计算非要它在多短的时间内完成,同时还可以慢慢的想,随时发现新的景观。这些尽管其他的计算软件也能够实现,总不会这么顺畅、亲切。真的需要对上百万节点的大矩阵进行计算的时候——这种情况对于搞科研的我来说并不多见——还是找专业的计算工种来做更好一些吧。
Mathcad15M040的SSQ版出来了,只有英文和俄文版 以下是种子: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2F1000eb.com%2F1fddw&urlrefer=cd1b39c06394ba1723f8ad79d894b577 我还没找到MC的语言文件在哪里,现在这个M040只有英文版和俄文版,而且默认的是俄文版的。嗯,帮助文件什么的都是俄文……具体怎么改到英文版,这个对于MC老用户来说不难,我就不提示了。 初步试用,感觉唯一改善的就是3D绘图的那个不能正常显示的bug给修正了,其他的和M030没什么变化。 还有,因为M040使用的是MSXML6.0,可能在WinXP系统上运行会有问题了。所以咱们MC吧里还使用WinXP的朋友我觉得就没必要下载这个版本了。 如果你所用的Windows系统不是Win8、Win8.1和Win10的话,我也不推荐使用这个M040,有一种瞎折腾的感觉。所以我暂且不修改置顶帖。
Mathcad吧档案更新——截止至2015年7月26日24点 2015年7月26日更新记录: 这次险些错过了更新。 (1)收录帖子988个 (2)新增了Angelycs的算法,以及几个“Mathcad基础中的目录” (3)由于安装问题确实不少,新开了“安装学”栏目,但未分细目。 最近几个月吧友的提问质量有所上升,希望继续贯彻吧规,再接再厉。 预计下次更新时间2015年10月26日 朱老剑客整理于2015年7月26日 希望@angelycs继续努力哈!我最近比较忙,没时间上网。感谢所有常来说话的朋友,现在世道有些乱,能够安静的聊聊编程聊聊数学的地方不多了,希望各位珍惜。 :) 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fs%2F1mgzQbhe&urlrefer=c8ecb7a13363df5ba5fd8c5698483d48
【吧务】关于对在回答问题的同时单开贴发布自己思路的讨论 在http://tieba.baidu.com/p/3139672093?pn=3,第75楼,@angelycs 提出: “我提个建议,在发帖提出思考题后(后简称为“ Q贴 ”,question),各方能否开新帖讲述自己的思路(后简称“ A 贴” answer)和方法,然后将 A 贴 的地址发布到 Q 贴内并简要介绍下思路。 为什么呢?因为如我这样在 Q贴 发布许久之后才开始关注 Q贴 的人,一打开本帖,已经有数页的讨论了,我不能从中一眼看出谁谁谁提出的了什么思路,只看得到一堆人在讨论某个问题,如果我想到一个思路,我不知道别人是否已经发布过了,必须要把整个帖子内容看完才知道,这对于信息获取效率是有碍的。 而如果按照我的建议,每个人将自己的思路和方法单独发到 A贴 中,地址贴到 Q贴中,这样便可以让人更清楚谁有什么思路,并且可以到相应的 A贴 中去讨论,提高信息检索和归类的效率。” 各位有什么意见和建议么?回帖说说。
【吧务】mislaidfantasy当小吧主 & 目前吧务分工 目前MC吧有3个吧主,3个小吧主,分别是: 吧主:@phy_lzx ,@LNSZDZG ,朱老剑客。 小吧主:@wwwdongliting ,@angelycs ,@mislaidfantasy 。 目前不知道phy_lzx行踪,很久没说话了。LNSZDZG最近在考试。我就不用说了。 小吧主做得很不错,wwwdongliting继续进行MC与有限元方面的工作,angelycs和mislaidfantasy。 我准备下一步专心搞MCADeng,http://tieba.baidu.com/p/3671756021,每天翻译1个小时,挖掘里面的知识点,日积月累发截图。 希望phy_lzx、wwwdongliting、angelycs、mislaidfantasy能够多看看help、quicksheets、扩展包、工程库和Inside Mathcad,打好MC编程基础,提高咱们MC吧的整体发布档次。 MC吧里的提问,希望你们能够多多回答,多多锻炼自己。 以上4位,若感觉自己不能做下去了,随时可以申请卸任。 LNSZDZG有自己感兴趣的领域,还望能够和@月城公寓寓公 联手为MC吧提供更出色的发布。
【灌水】各位对Win10有什么好的对策么? 前段时间咱们讨论了http://tieba.baidu.com/p/3547670366,这里继续说。 今天下午我注意到我可爱的小win7中了微软的招了:最左边出现了一个“预定正版Win10”的小图标。 从这段时间我对Win10信息的跟踪,我感觉Win10还是没有Win7好,除了增加了一些特别闹心(看上去很美很炫)的功能之外,并不能像Win7那样能够使用户注意力专注的干自己的工作。 我现在就是怕两点: (1)微软强制推广Win10,比如说像整XP那样,封锁所有技术支持、升级,打着“请使用新系统”的名义给用户捣乱——我随时准备起诉微软。 (2)Win10说是2015年7月29日正式发布Win10,正版Win7、Win8等的用户可以有1年的免费升级期,如果我执意不想升级Win10,错过了免费升级期之后,微软如果动用了什么下三烂的手段来强奸用户的话,我可能要花很大的代价来升级到正版Win10;而如果升级到Win10之后,也可能会因为仅有这么一个版本的Windows可选,就等于被微软绑架,所安装的软件、电脑的硬件等等都要想办法和Win10兼容,可能我以前购买的正版软件有一部分要被迫停止服务,同时或许也会发生一笔不小的支出。 总之,我觉得微软这么做是非常不厚道不人道的。 不知道各位对微软这个举动有什么想法,有什么对策。 还有 各位如果在其他网站上看到有比较好、比较有意思的分析和对策,也欢迎转载过来。 更换操作系统的代价太大,我想这恐怕是下下策了。
参数化定义函数算子 这一招是从Kiisk先生的工作表里学到的,http://tieba.baidu.com/p/3711866762,用这个法子按照一定的规律批量定义一堆函数也不是不可能的事儿了。 举个简单的例子:嗯,看来发了奖励规则之后大家反而不说话了。不管搞什么,都不能求“毕其功于一役”,得慢慢来,日积月累,哪怕是无意义的,也不可能无意义,还是钱宇平九段的那句——“每天面对棋盘半小时”。
【吧务】MC吧优秀发言有奖计划 鉴于MC吧长年冷清的现状,不能都等着吧主小吧主和几个热心有力的吧友来喂食,因此本吧主决定货币刺激优秀发言,奖金暂且由我一个人出,若有捐赠或合伙者,也望积极自荐。 奖金因仅我一个人承担,定不会很丰厚,能够刺激优秀发言才是主要目的。 奖励办法如下: (1)完整回答2个“***”级问题,或10个“**”级问题,或50个“*”级问题者,奖励100¥。 (2)完整发布2个“***”级工作表,或10个“**”级工作表,或50个“*”级工作表,奖励100¥。 (3)即“***”等于50¥,“**”等于10¥,“*”等于2¥。 (4)因我是出资人,所以问题和发布的星级由我来定。不符合吧规的问题不定星级,不完整的发布(没有详细注释和/或科普的发布)不定星级。我会尽量保持公正,若对星级有争议,咱们可以辩论。 (5)我会在完整回答、完整发布后面及时给出答题者当前累计金额的。当累积金额达到100¥时,我会及时联系该吧友进行奖励的,具体是汇款还是转账还是如何,我们商量。当累积金额大于100¥时,多出下体100¥的部分转入下次累积计分中。 (6)完整回答和完整发布的定义:需包括阐述思路,有必要的科普,给出解决过程的截图,有必要的注释,上传工作表。对问题有所发挥,有深入的理解、展开和探讨者;对发布有深入的且开创性的探索者,均有附加分。 (7)附加分1¥~100¥不等,由奖金出资人裁定,并发布明显声明。 (8)不可抄袭剽窃,若有发现,积分归零。 (9)回答和发布所用软件不限于Mathcad,任何软件都可。 本游戏规则仅为试行,若有其他吧友想参与投资该奖金,请及时与我联系,咱们可以商量怎么改进完善这个规则。 其他吧友也可在讲信用的基础上独立建立自己的奖金,奖励规则自定。各奖金互不冲突,可以多奖齐得。 本奖励规则不是吧规,但加精,以便吧友查阅。自发出资设奖的吧友,其奖励规则贴均可加精。
【吧务】鼓励Mathcad吧吧友勇敢接收吧友的项目邀请 2015年年初到现在,MC吧里已经有3个吧友提出了项目邀请,其中2个邀请在MC吧里公开发帖寻求合作,也不知道是因为咱们MC吧的吧友是跟钱有仇还是因为什么,这些项目邀请无一不受到了冷落。 这样做对谁都没好处,作为一般吧友,你失去了通过做一个完整项目提高自己应用MC水平的好机会;作为有需求的吧友,也相应增加了他们的项目成本,延缓了他们的项目进度。 所以本吧主在这里强烈呼吁,希望各位Mathcad吧吧友们勇敢承接其他吧友的项目邀请。 请注意,下面是游戏规则!此规则一会儿我给补充到吧规里。 邀请方: (1)公开发贴征求合作,发贴内容须包括以下基本信息: 1)涉及到的工程领域,是土木,还是电气,还是机械,等等,需要说明。 2)任务描述,是做课件,还是做计算书,还是仅仅编程,等等,需要说明。 3)联系方式。 4)是否会提供工程专业上的协助,这点必须说明!否则专业跨度太大又没有专业协助的话,根本不会有人应标。 (2)项目经费、具体项目内容、项目周期、是否签合同、是否需要发票等等,不建议公开讨论,请甲乙双方私下联系。 (3)若有多人竞标,发生纠纷,请甲方自行处理,Mathcad吧仅提供发布平台,不提供法律服务。 (4)发虚假项目邀请贴,并经吧友确认后,视为垃圾广告贴,删帖,封ID、IP,并向百度贴吧投诉。 应标方: (1)绝对不允许在Mathcad吧摆地摊发广告!如果一定要对自己进行宣传,可以到Matlab吧去发。 (2)要尽量保护自己,避免口头协议,能落实到合同、文字协议的,尽量为将来发生纠纷时积累有效的法律凭证;避免被骗,尤其是注意个人财务信息安全。 (3)执行项目过程中,如果发现自己解决不了的问题,请放心大胆的按吧规在MC吧里发贴求助。求助时,在工作表中尽量去掉邀请方的信息,要避免泄漏邀请方秘密。 (4)Mathcad吧不是营利组织,也不是服务机构,应标方仅代表个人行为,出现任何纠纷,Mathcad吧不负责任。 (5)若因为自己能力有限,不能独立完成项目,请放心大胆的在MC吧里发贴寻求合伙人,发贴内容必须包含的基本信息与邀请方征求合作贴信息相同。 最后,我发句牢骚:中国人最大的缺点就是瞎JB谦虚!
【吧务】我已经提出吧主申请 @LNSZDZG @phy_lzx 我卸任了两个月,感觉现在的吧主和小吧主们做的不错,对吧规也越来越重视了。 phy_lzx学业较忙,有一段时间没露面了,所以我再次申请当Mathcad吧的吧主,接手phy_lzx的工作。 前段时间整理MC吧档案,近3个月咱们MC吧的有一定水平的贴子多起来了,真是好事儿。而且常来的吧友也渐渐的放得开了,更多的参与讨论和回答问题,话题也比以前更宽广了一些。一个好的论坛必须如此,论坛里的人们能够畅所欲言,没有发言的忌讳。呵呵,如此当管理员的也会轻松些吧。 我的60天期限已满,我已经提出了吧主申请,希望两位能够批准。我回来的主要目的还是维持咱们MC吧的发贴质量,贯彻吧规,充分发挥现有吧主和小吧主的“学术带头人”的作用,扩大咱们MC吧在国内的影响。 这段时间我大概调研了一下国内外收费和免费论坛的情况,感觉百度贴吧还是属于中上等级的,所以暂时不想离开这里新开论坛,也暂时不想组建公司。 嗯,我倒是编了一个价目表,只是具体的淘宝上的操作怎么来搞,就得听听各位的意见了。大概如下: 我想的是如果要在淘宝上开店,为国内外的普罗大众提供Mathcad编程服务,咱们就得使用订金制,初步想的是10%的订金。 (1)普通提问,且符合吧规,仅解决Mathcad的基础使用问题,也就是说帮着甲方查查help、quicksheet什么的基础文件, 收费10元,订金1元。 (2)同样是普通提问,但不符合吧规,比如说需要我们来猜测对方到底要问什么,要做什么,比如说需要我们来手动输入过长或者过于复杂的工作表, 收费50元,订金5元。 (3)涉及到专业的工程知识,比如说电气、结构计算等等,甲方做了很好的科普,并且在解决问题的同时全程提供专业知识指导, 收费100元,订金10元。 (4)涉及到有特定使用方向的自定义函数的编写,形成一个完整的计算程序,但并未涉及到专业的工程知识, 收费500元,订金50元。 (5)制作Mathcad计算书,甲方提供很好的科普,并在解决问题的同时全程提供专业知识指导, 收费800元,订金80元。 (6)涉及到专业的工程知识,但甲方未充分系统专业知识科普,未在解决问题的同时进行专业知识指导, 收费1000元,订金100元。 (7)制作完整的Mathcad程序,包括数据表格、程序目录等,形成程序压缩包或者电子书, 但未设计到专业的工程知识, 收费5000元,订金500元。 (8)制作专业的Mathcad计算书,形成了Mathcad程序或电子书,甲方为提供充分的科普,未在解决问题的同时提供专业知识指导, 收费10000元,订金1000元。 (9)所制作的Mathcad程序涉及到军方、国企的项目论证、验收,属于关键计算和关键技术的数值模拟验证,处理矩阵量大于500MB, 收费50000元,订金5000元——该部分价格可多可少,看交情,需要商议,签订合同。 嗯,如此定价的目的,就是想说“你可以懒,但就是得花点儿钱儿”。
Mathcad吧档案更新——截止至2015年4月28日上午11点 2015年4月28日更新记录: (1)收录帖子873个 (2)新增wwwdongliting有限元讲稿、复杂表达式表达式问题、兼容性。 (3)部分不看“吧规”和“置顶帖”的问题未收录。 (4)mislaidfantasy建MP吧之后的所有MP问题未收入。 感谢LNSZDZG、月城公寓寓公、zpz老师、angelycs、mislaidfantasy、wwwdongliting、vv_0147、yuduotian、phy_lzx等吧友的发布和互动!希望能有更多的吧友一块儿来建设咱们共同的精神家园。 预计下次更新时间:2015年7月26日。 朱老剑客整理于2015年4月28日 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fs%2F16QWV0&urlrefer=94f2027aac8c693ec8d13c34e16a002e
【分享】再来一个重量级的——Kiisk先生用MC编的10个小程序 Kiisk用MC编的10个小程序,或者说是10个小软件,水平和难度与MCADeng相当,高级应用,重量级的——这是我在网上看到的第一个纯粹用MC编软件的例子,跟那种Handbook还不一样,已经有了应用软件的结构和功能了。 下载地址: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2F1000eb.com%2F13tsn&urlrefer=b8ca7b93cb36720f639bdb7830b3005b 这10个程序大多是光学器材设计专业的东西,不过他的用MC编软件的思路以及所使用到的MC编程技巧非常棒。嗯,希望能够对咱们MC吧里有志于用MC做一番事业的朋友有些帮助。
phy_lzx这几天怎么了?好久没有来了。 如题。@phy_lzx 嗯,希望各位帮忙@phy_lzx ,我找他有事儿。注意保持队形哈!
1
下一页