xzcyr
xzcyr
关注数: 3
粉丝数: 743
发帖数: 13,774
关注贴吧数: 18
版本9帮助的查询功能发生倒退? 如题。不过,因为之前装版本9的时候着实折腾了一番(装好之后帮助只能搜索内置函数,不能自由搜索,WolframAlpha不能调用,最后还是新建了一个帐户再在里面安装,才算基本正常了——好吧,CountryData什么的调用还是有点不对劲),所以对此我也不能完全确定,究竟是我的安装依旧不正常呢,还是真的是版本9的帮助搜索退化了。总之大家来试试这些词,在版本9里能搜出结果吗?(这些全是版本8能出结果版本9出不了结果的词——我只是随便试的,肯定不止这些): 三角 阿基米德 螺线管 画图 基本画图 麦克斯韦 分形 矩阵 加法 乘法 ……你还可以继续试
《24格》上那篇作者访谈……有人录入吗? 就是这个:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fweibo.com%2F1267177494%2FA5Wb0814g&urlrefer=2086ede974db174390fd2353f98d208c 微博上只有节选,吧里有没有人手上有杂志的?是不是可以考虑录入一份?
【讨论】并行到底有多难 嗯……这个问题的复杂度我心里还是有个数的,所以这帖不指望得出答案之类,重在交流讨论。 先说一下我大致的了解吧。因为最近有机会接触到了多核的计算机,所以我也稍微关心了一下。总的感觉是并行似乎真不那么容易,在Stackexchange的未解答率(无人回答或有人答却未被采纳或没有Upvote的问题数比上总问题数)只有35/175.==0.2,这算是相当高了,要知道全站总体未解答率是1325/14474.==0.0915435,一些流行的Tag,比如plot,未解答率只有63./2069==0.0304495。compile在我印象里应该是比较麻烦的,可是一查却发现未解答率才16/149.==0.107383,正好是平均水准。 这175个问题里面得分比较高的问题我也算读了一下,要总结的话,那就是,只有一件事是可以并行的那它才是可以并行的,也就是说,只有当你要做的事是可以互无瓜葛地进行的的时候,Mathematica的并行指令才可以被使用…… 说到这里,有件事大家或许会觉得奇怪,那就是,照这个说法,很多的列表操作似乎都应该是可以并行的,为什么实际上并非如此?对于这一点,我也不是很清楚(那你拿出来说干嘛!),但我怀疑这可能和PackedArray(某个和Mathematica的快速计算有着重要关系的数据结构,Mathematica在版本5.2之后快起来很大程度上就是因为它)本身结构的特殊性有关……具体的……我也不是很清楚。但是看看SE上某些高手对SparseArray内部结构的解析帖,我就强烈地感觉,PackedArray一定没那么容易并行。 此外,就我所做的简单的测试而言,并行提速的效果很有限,并且,很多时候都不能和Compile并用,而单用Compile获得的提速往往大幅高于单用并行所获得的。 在这过程中我甚至考虑了要不要转战别的软件。Julia不知道有没有人知道?一个还在零点几版的以高性能计算为目标的语言,研究了半天之后提了这个问题: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fstackoverflow.com%2Fq%2F23290917%2F1551513&urlrefer=1030516fea4a9ac13de0e6e30f804976 结果至今未见回应……我想我的问题问的应该不那么糟,那么,没人给出具体解答的原因,应该还是因为它不那么容易吧…… 于是我就试着在更一般的层面上探索了一下这个问题,于是看到了这么一篇文章: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.ltesting.net%2Fceshi%2Fceshijishu%2Frjcsgcsrm%2F2013%2F1024%2F206739.html&urlrefer=e24c91b3ea23348c70c35306ca357cd9 七零八落地写了这么多(答了一天题着实有点疲劳),以上就是我所查到的和并行有关的一些信息,欢迎大家交流探讨。
【其它】14-04-18◆近期僵尸帐号的活动也太过猖狂了吧?! 最初察觉到这种僵尸帐号的存在大概是在几周前,这些帐号的行为有着以下共同特征: 1 ID名字像乱码 2 出没的贴吧范围广到惊人 3 发的主题全是提问类主题 4 他所提的问题就算有人回答了照样会(换上别的ID)在下面回帖说“难道还没大神来答吗”之类的 5 最重要的特征:回帖全是水 开始的时候这种帖子只是几天一个,可是近期,这类帐号的活动越来越猖狂,上周周日仅我所在的钢铁是怎样炼成的吧就先后冒了10个这种帖子出来。(帖子内容方面也是彻底放弃治疗了,本来还能做到让人模棱两可,现在全是和贴吧主题差了十万八千里的。)感觉近几年百度贴吧虽然有很多不如人意的地方,但是垃圾帖的机械审核还是做的比较好的,这样的情况已经很久没出现过了,怎么现在又让它卷土重来了? 期待改善。
关于Compile内语句的简化 这个讨论某种意义上是这个讨论的后续: http://tieba.baidu.com/p/2574814340?pid=38451621323&cid=#38451621323 啊~上面这个帖子不看也没关系,这帖会给出简化代码。总之,我们来看这么一个含了Compile的函数: ie = 200; ez = ConstantArray[0., {ie + 1}]; hy = ConstantArray[0., {ie}]; (* Notice the following function hasn't been fixed yet *) fdtd1d = Compile[{{steps}}, Module[{ez = ez, hy = hy}, Do[ ez[[2 ;; -2]] += (hy[[2 ;; -1]] - hy[[1 ;; -2]]); ez[[1]] = Sin[n/10]; hy[[1 ;; -1]] += hy[[1 ;; -1]] + (ez[[2 ;; -1]] - ez[[1 ;; -2]]), {n, steps}]; ez]]; fdtd1d[1000] 显然,Compile的内部出现了两条结构很相似的语句,即ez[[2;;ie]]+=…和hy[[1;;ie]]+=…,这里需要指出的是,希望简化的两条语句,虽然在这个示例代码里显得还比较简单,但在实际情况中这两条语句可能会因为系数变得很冗长,此外,同样的语句,在实际情况中会出现多次。(这里是一维情况,所以只有2次,三维会有6次……如果再加上些其他东西会更长……)我们自然会想到,如果我们可以使用一个函数之类的来表示这个结构的话,那是再好不过了。 比如,如果没有编译存在的话,我们可以这么做: ie = 200; ez = ConstantArray[0., {ie + 1}]; hy = ConstantArray[0., {ie}]; Clear[f]; SetAttributes[f, HoldFirst] f[list1_, list2_, end_] := list1[[end ;; -end]] += (list2[[2 ;; -1]] - list2[[1 ;; -2]]); fdtd1d = Function[{steps}, Module[{ez = ez, hy = hy}, Do[f[ez, hy, 2]; ez[[1]] = Sin[n/10.]; f[hy, ez, 1], {n, steps}]; ez]]; sol=fdtd1d[120];//AbsoluteTiming ListPlot@sol (*{0.009, Null}*)但是这招在Compile里面用不了,不,确切地说是,能用,但是比不Compile的版本慢的多,因为它多次调用了外部函数,也就是说多次使用了MainEvaluate,导致代码变慢了……: ie = 200; ez = ConstantArray[0., {ie + 1}]; hy = ConstantArray[0., {ie}]; Clear[f]; SetAttributes[f, HoldFirst] f[list1_, list2_, end_] := list1[[end ;; -end]] += (list2[[2 ;; -1]] - list2[[1 ;; -2]]); fdtd1d = Compile[{{steps}}, Module[{ez = ez, hy = hy}, Do[f[ez, hy, 2]; ez[[1]] = Sin[n/10.]; f[hy, ez, 1], {n, steps}]; ez]]; sol = fdtd1d[120]; // AbsoluteTiming (* {0.0710000, Null} *) 然后大家当然会想到Stackexchange上有没有解法。能直接找到的是这帖: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fq%2F24595%2F1871&urlrefer=d5f5cdae824cc58710b9ecacf13c890f 目前有4个答案,两个比较短的要不没有用要不用不了(我指的是Szabolcs的解法,只支持纯函数),两个长的今晚读不完了,只稍微试了下被采纳的那个,没成功,恐怕至少是不能简单地运用。不过要是我只看到了这个帖子,大概早就被打击的放弃了, 真正激励我开这帖的其实是Ruebenko的这个答案: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fa%2F23885%2F1871&urlrefer=18977257660d798b2e5e876baea17a73 他在里面展示了这样的一个技巧: tmp = Join[ {{1, 1, 1}}, Transpose[Quiet[Array[Part[var, ##] &, {3, 2}]]]];me = {{0, 0}, {1, 0}, {0, 1}};p = Inverse[tmp].me;help = Transpose[ (p.Transpose[p])*Abs[Det[tmp]]/2];diffusion2D = With[{code = help}, Compile[{{coords, _Real, 2}, {incidents, _Integer, 1}}, Block[{var}, var = coords[[incidents]]; code ] , RuntimeAttributes -> Listable (*,CompilationTarget->"C"*)]]; 简单地说就是利用With把外部的代码给引到Compile里面了,并且这是可以通过编译的!那么,我就在想,是不是可以把这个方法推广出去呢?推广到我上面所说的情况里去? 或者还有其他什么精妙的方法? 总之,有人有主意吗?
【征集】学习Mathematica时最常见的问题暨Mathematica吧“十戒” 贴吧新弄了个贴条,贴条只能同时存在10个并且只能实际只能显示26字,于是我就在想着是不是该总结些Mathematica新手最常见的问题贴到那上面滚动播出(虽然很多人或许不会看,但有总比没有好嘛……)。试着弄了个草稿(二十戒),大家可以看看,哪些需要修改,哪些需要删节或补充: 二十戒 1 不要为了节约硬盘选择过老的版本。至少要用版本7 2 自带帮助是最好的教材,提问前先打开软件按下F1仔细查查 3 将光标停在不认识的函数前/中/后再按F1即可调出相应帮助 4 看不懂英文的就老老实实装个中文版 5 Mathematica区分大小写,内置函数均以大写字母开头 6 Mathematica用的全是英文标点,别错成了中文标点 7 按下F2可以补全函数名,包括你自定义的函数 8 要避免使用内置函数做变量名 9 没赋值的变量是蓝色的,注意这点能有效避免低级错误 10 赋过值的变量会变黑,注意这点能有效避免低级错误 11 内置函数全是黑色的,注意这点能有效避免低级错误 12 Mathematica中有四种括号,分工明确,功能全不同 13 含有类似“求一段代码”的内容的帖子,通删 14 如果希望问题被尽快解决,帖子中就别出现“大神”字样 15 求助时不要光截张图,把你的代码文本也复制上来 16 “代码文本”指的是你用键盘敲进软件里的那些东西 17 复制代码前先按Ctrl+Shift+I再复制,可以避免代码变乱 18 赋过值的变量如果不清除或用别的值覆盖,它就一直在那儿 19 要分清“ = ”和“ == ”的区别 20 用Show可以将多幅图合而为一 哦,顶部的贴条大家当然是可以随便去贴的,贴条这东西说到底也还没定形,说不定将来还会取消,这个说到底算是我的个人行为——当然要是有人能来一起贴“十戒”的话我会很开心。
吧主位子怎么空出来了?! @mm_酱 什么情况?百度抽了还是怎么的?
Mathematica自带的文本查找与替换(Ctrl+F)能只替换选中部分吗? 我想大家都知道Mathematica的笔记本只要按下Ctrl+F就可以像其他许多的文本编辑器(记事本,EmEditor,Word……)一样执行文本的查找与替换功能。有的时候这个功能还是有用的。 可是有件事一直让我很困扰,那就是,这个查找替换似乎必须要作用于整个笔记本啊? 管你文本是输入还是输出,中间是不是有单元分隔,只要你一点替换,它就会把整个笔记本里匹配的文字杀个片甲不留,预先选中单元或是文本也没用,你一点查找替换钮,选中状态就消失了。 是我用的方法不对,还是自带的这个查找替换本就不好用? 有没有源生的改进方法? 顺带一提我目前的做法是先把代码复制进其他文本编辑器里改完了再贴回来……
关于方阵积和式的计算 会想到这个是因为知道上有人问了: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F1429979354987182299.html%3Ffr%3Duc_push%26push%3Dkeyword%26entry%3Duhome_new%26oldq%3D1&urlrefer=edc269097641650735e310f1ff2fbb81 然后,这两个链接里是“积和式”的定义: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Frosettacode.org%2Fwiki%2FMatrix_arithmetic&urlrefer=285553ce633274b484d45c7e871efc36 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathworld.wolfram.com%2FPermanent.html&urlrefer=8b7fa53d57b6f2c532b0773cea90d554 上面的链接里已经给出了一种编法,我自己也依Ryser formula写了一个,但是,这两个函数的效率都不咋的,方阵稍微大一点就会挂掉,和定义上与之类似的内置函数Det相比就是渣渣。怎么样才能写出一个高效的“积和式”函数呢?
【讨论】像Mathematica一般给人以“惊艳”感觉的软件 犹豫了有一阵要不要开这么个主题不明确而且有跑题嫌疑的帖。学Mathematica也一年半了,我差不多——不对,是已经进入瓶颈期(即技能无明确进步)很长时间了。嗯……怎么说呢,虽然我喜欢喊“Mathematica是万能的”,但是这个世上自然是没什么万能的东西。Mathematica可以画图,但是,至少是不适合,画图纸;可以解相当多的偏微分方程,但是(至少目前)不能很好地求解复杂区域上的偏微分方程;大规模低级运算的速度虽然可以用编译提速,但是却会大幅限制编程的思路…… 总之,我在考虑着是不是该把“深度”放一放,试着扩展一下“广度”,也就是,我在琢磨着是不是该学点别的软件了。 可是,曾经沧海难为水…… 在Mathematica之前也接触过一些软件(科学软件?工程软件?科研软件?……唉,总之会出没在这个贴吧里的人应该明白我在指啥),最后都没学会。Origin用过,用着很痛苦,扔了——当然如今它的功能也完全被Mathematica取代了;听说ProE有用,三天打鱼两天晒网地对着本教材学过一段时间,很痛苦,终于没学下去,扔了;学习有限元时接触过Ansys,很痛苦,没学会,扔了……当然如今想起来,这些软件会没学会,“学的时候缺乏目的性”也算原因之一,但是另一个重要的理由是,这些软件……全都散发着一种让人不爽的感觉啊! ——我知道这个理由太模糊了,我也没法很具体地表达。或许是因为它们没有中文的界面?或许是因为它们没有详细而易懂的参考资料?或许是它们没有那种立竿见影的强大?或许只是因为它们体积太大?或许是没有那种优雅的感觉?总之,它们都没有让我产生那种“啊~真的好神奇啊我要学会它”的感觉。 所以最终还是决定开这么个帖子,讨论一下,确切地说,是普查一下,看看各位有没有遇到过这样的软件……或许可以这么问,诸位有没有遇到过堪称××界的Mathematica的软件?
写程序包的时候单元样式必须是Code 百度知道的Mathematica问题水准虽然总体而言比贴吧还低一些,但是时不时地还是会有值得研究的问题的。实际上,如果是Mathematica初学,那么在百度知道上无差别地回答问题(也就是不管对方是不是在求作业,代码写的是不是一团糟,问题是不是语焉不详,都去尝试回答对方的问题或者至少是与对方交流)是一个不错的锻炼……跑题了。其实我只是想说,今天我遇见了一个有趣的关于程序包编写的问题(啥,你们都知道?好吧,我承认这个问题击中了我的死角): http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F1573921927654451820.html&urlrefer=a22a5fc478a9cf336a3270bab35d6ae9 然后,就是这样——嗯?这个主题发出来是干嘛的?其实主要是突然想没话找话……不对,是怕将来需要引用这则回答的时候在知道上搜不到所以决定发一帖以便索引(虽然就算在贴吧里也照样可能会找不到……)
【赌咒】如果我今后在周六外的日子出现在Mathematica吧和知道… 我就自删我在StackExchange的账号! 嗯……鉴于赌咒这招对我似乎很有效果(上回我赌咒说再做未经简化的代码的Debug就自切小JJ结果自那之后就真的一次都没做过了),所以这次我决定再来一次,顺带赌上了一件更重要的东西(咦?)。 做出这个决定,主要是因为我花在 玩 Mathematica上的时间实在太多(每周十余小时),已经影响了正常的工作学习。这里之所以使用“玩”来表达对Mathematica的使用,是因为这些时间,都花在了在Mathematica的贴吧和百度知道回答问题上。说实话,我已经很难在这种过程里获得什么Mathematica技能的提高了。此外,我想,我在吧里太过话唠也是对新手们成长的阻碍。所以,是时候有所抑制了——不,或许这个决定来得有点太晚了。 本来想赌咒说一个月只出现一次之类的,但是果然还是要循序渐近。 “不出现”的定义:不发主题,不回帖,不在知道提Mathematica问题和回答Mathematica问题, 周六以外的日子如果有人私信提问也当作没看到。 欢迎监督。
在百度知道看到的不会答的题一道 就是这题: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F1573597429031189140.html%3Ffr%3Duc_push%26push%3Dkeyword%26entry%3Duhome_new%26oldq%3D1&urlrefer=c6c07fa929b23995de9bb2ae2a0e08c4 想了半天,没有想出比较有Mathematica“范儿”的解法。用过程式的应该可以,但是这类算法我不擅长结果凑了半天也没凑出来。有人有什么好办法吗?
Solve求解非数字系数线性方程组的耗时随未知数数目增加而爆增? 如题。未知数数目增加时,Solve的求解时间有所增加是意料之中的,可是,我过去还真没注意到,当方程组中的系数不是数字时,这个增加速度是非常快的: f[n_] := Solve[ Thread[Plus @@@ Table[Unique[] t[j], {i, n}, {j, n}] == 0 (*Table[ Unique[],{j,n}]*)], Table[t[j], {j, n}]] First@AbsoluteTiming[f[#];] & /@ Range[6]; ListLogPlot[%, Joined -> True]n = 6 时耗时已经超过了100秒……再往上的我不打算试了。非齐次的情形(使用我写在代码注解里的部分作为等式右端即可)是类似的,这里不贴了。 顺便,对于数字系数,这个问题就基本不构成威胁: f2[n_] := Solve[Thread[ Plus @@@ Table[RandomInteger[{5, 10}] t[j], {i, n}, {j, n}] == RandomInteger[{5, 10}]], Table[t[j], {j, n}]] First@AbsoluteTiming[f2[#];] & /@ Range[60]; ListLogPlot[%, Joined -> True]RandomReal[]的结果是类似的,这里不贴了。 那么问题来了:这种速度的爆跌可否改善?还是说这就是追求符号解的代价?
是否可以用化简类的指令把ArcTan[Cos[d], -Sin[d]]化简成 -d 如题。自编规则当然也不难,不过这里我想知道的是,能不能用Simplify,TrigExpand一类的化简型指令来得到这个结果。试了半天没试出来……是正好不支持这个化简呢,还是我没有找到?是我漏了什么重要假设吗?(我试验过的假设只有d属于Reals……)
为什么Play里函数的频率超出人耳分辨频率很多了还是听得到声音 如题。偶然研究了下Play函数。众所周知,人一般只能听得到20到20000Hz的声音,可是我试了一下,即使把频率改得大幅超出了这个范围,Play依旧可以播放一个细微的尖声。(也叫别人帮忙听过了,应该不是我听力超常。) 附很简单的例子: Play[Sin[1000000 2 Pi t], {t, 0, 1}, SampleRate -> 10000000] (*百万赫兹。大家可以试下,这个尖尖的声音还是很明显的——应该不致于引起不适*) Play[Sin[2 Pi t], {t, 0, 1}] (*一赫兹。无疑是有声音的。(音亮可能要适当调大——这个尖声应该不致于引起不适*) 有人知道是怎么回事吗?感觉这可能又是一个不仅限于Mathematica的问题?
最打击你回复意愿的主题类型
【交流】从粗略的经验规则无法预知的编译的某些具体限制及非限制 编译是个麻烦的东西。但是有时候为了速度就必须得用。虽然我想之前关注过吧里的编译帖的人都对编译的限制有了一些粗略的知识,比如写的越像低级语言越方便编译(虽然也不总是如此),比如SE上的某个可编译函数单啊:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F1096%2Flist-of-compilable-functions&urlrefer=715ac47a4b4ecbebf6aa3f4c38de3a3a (虽然可以用在Compile里的函数其实并不限于此,比如Sow),还有SE上的另外一个关于编译的指导帖啊(http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F1096%2Flist-of-compilable-functions&urlrefer=715ac47a4b4ecbebf6aa3f4c38de3a3a),可是其实使用Compile时要注意的并不止这些,比如这两天我发现的一个。 我们知道Part结合Span(;;)可以对列表的某一部分进行取出。而当Span取出的片段的尾巴是原列表的该行(列?)的最后一个元素时,存在几种不同的表达方法: a = Range[5]; a[[2;;5]](*最规矩的写法,直接写最后一个元素的序号*) a[[2;;-1]](*使用倒序号,对于某些列表操作还是有利于减轻思维负担的*) a[[2;;]](*省略最后一个参数,这个最省字数*) a[[2;;All]](*最后一个参数用All表示,帮助里没有直接给出,但是只要按下Ctrl+Shift+I检查a[[2;;]]的InputForm,就会发现a[[2;;]]的本质就是这个*) 这四种写法,只有头两种是可以通过编译的。 顺便一提,省略Span的第一个参数(也就是a[[;;3]]之类的)不会对编译造成影响,如果把All单用(a[[All]])也就是取下一整行(列?)也不会造成影响(这点也是个亮点,因为All,虽然只是个选项,但是,也是没有出现在上面的那个单子里的),只有Span和All凑一起的时候编译才会失败。 好了,其实标题说要交流编译什么的那都是幌子,我只是发现了这个问题所以想拿出来说说而已(拖),不过如果大家有相似的发现不妨也拿出来谈谈。
Sow和Reap无法与ParallelDo联用? ……总之算是把自带的教程稀里糊涂啃了一遍,然后开始试验,可是第一个例子就碰壁了: Reap@Do[Sow[i++], {i, 10}] Reap@ParallelDo[Sow[i++], {i, 10}] 期望中的结果当然是两者一样,但是第2个只能获得一个空列表。 这里的i好像也不存在要分配变量的问题。(实际上分配了之后也没变化……)有人知道怎么回事吗?
如何对多个相同维数的数表的相应位置比大小并取其最值获得新表 感觉应该可以描述地更简单一点……但是脑袋一时卡壳了,想不出来,总之,以一维情形来说,就是: a = {1, 2, 5, 8, 9}; b = {-2, 3, 6, 9, 2}; ListMax(*姑且叫这个名字吧*)[a, b] 输出: {1, 3, 6, 9, 9} 当然了,目标是获得一个适用于高维情形的函数。 我这会儿能想到的方法只有,使用SE某帖提及的unflatten函数: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F30405%2Funflattening-a-list&urlrefer=a789a0a7942887c6e38e72f2aaa54d78 把这招用上就很简单了: unflatten[l_, o_] := Module[{f, i = 1, l1 = Flatten[l]}, Attributes[f] = {Listable}; f[_] := l1[[i++]]; f[o]]; ListMax[a_List] := Module[{mid}, mid = Max /@ Transpose[Flatten /@ a]; unflatten[mid, a[[1]]]]; a = RandomReal[{-1, 1}, {4, 5, 6}]; b = RandomReal[{-1, 1}, {4, 5, 6}]; ListMax[{a, b}]; DeleteCases[{% - b, % - a} // UnitStep // Flatten, 1] (* {} *) 这个代码能否改进?有没有别的方法?有没有更好的方法?
怎样才是最“优”的为列表分段赋值的方法? 已知两个长为n的一维列表a和b。如果我们要生成一个列表c,而这个列表c的每个元素的值都为列表a和b的对应位置元素的乘积的话,显然,最“优”的方法应该是: c = a b; 但是,如果这个c列表是个分段的表的话,情况会是怎样呢?举例而言,如果这个c的中间的1/2元素都是0(其他的元素依旧满足前面的规律)的话…… 首先这两个,我想大家凭感觉就能知道它们速度不行: n = 10000000; a = RandomReal[{0, 1}, {n}]; b = RandomReal[{0, 1}, {n}]; c1 = Table[If[n/4 <= i <= 3 n/4, 0., a[[i]] b[[i]]], {i, n}]; c2 = Table[a[[i]] b[[i]], {i, n}]; c2[[n/4 + 1 ;; 3 n/4]] = ConstantArray[0., {n/2}]; 然后是这两个,它们的速度是不相上下的(c4的初始化没有计入时间,理由下面会说明): AbsoluteTiming[c3 = a b; c3[[n/4 + 1 ;; 3 n/4]] = ConstantArray[0., {n/2}];] c4 = ConstantArray[0., {n}]; AbsoluteTiming[c4[[1 ;; n/4]] = a[[;; n/4]] b[[;; n/4]]; c4[[3 n/4 + 1 ;; All]] = a[[3 n/4 + 1 ;;]] b[[3 n/4 + 1 ;;]];] 单就这里举的例子来说,c3应该是最优解(速度基本上是最快的,代码也比较简洁),但是,实际情况并没有这么简单。这个问题其实又是从有限差分的讨论中抽象而来的(相关帖:http://tieba.baidu.com/p/2574814340)——所以上面c4的初始化没有计入时间,因为被计时的部分其实会重算多次,所以这部分时间是微不足道的——那一帖的7楼,给出了一段小孔衍射的代码,因为求解区域是不规则的,所以最终赋值分成了三块,显然,用我们前面所说的c3思路,代码能简化一些(需要分块赋值的区域将减至两块): iter = Compile[{{tf, _Real}}, Module[{n = 64, Courant = 1./Sqrt[2], c = 1., dx, dt, z1 = ConstantArray[0., {64, 64}], z2 = ConstantArray[0., {64, 64}], lst = {{31, 33, 2, 28}, {31, 33, 36, 63}}, i1, i2, j1, j2}, dx = 1.0/(n - 1.); dt = (Courant dx)/c; Do[ (*先不管有没有墙,把整个区域算了 *) z2[[2 ;; -2, 2 ;; -2]] = Courant^2 (z1[[1 ;; -3, 2 ;; -2]] + z1[[3 ;; -1, 2 ;; -2]] + z1[[2 ;; -2, 1 ;; -3]] + z1[[2 ;; -2, 3 ;; -1]] - 4 z1[[2 ;; -2, 2 ;; -2]]) + 2 z1[[2 ;; -2, 2 ;; -2]] - z2[[2 ;; -2, 2 ;; -2]]; (* 再把有墙的部分(算是比较狭小了)给归0 *) Do[{j1, j2, i1, i2} = i; z2[[i1 ;; i2, j1 ;; j2]] = 0., {i, lst}]; {z1, z2} = {z2, z1}; z1[[32, 16]] = Sin[16. \[Pi] (t + dt)], {t, 0., tf - dt, dt}]; z1]]; 但是,这里可以遗憾地告诉各位,这个代码,没有分三块的版本快……理由可能是每个点上的计算比较复杂,所以那些最终会被“墙”掉的部分的计算,消耗了大量的时间。 并且,在列表的维度增加时,最“优”解甚至有可能会是c1或者c2,因为这两个思路,虽然慢,但是书写非常简单…… 写到这里我终于明确意识到我想陈述的问题有点复杂,想要用比较少的字数陈述清楚比较困难,实际上我也已经被上面的c1, c2, c3, c4折磨得够呛,不想再对它们哪个最优这点讨论下去了。其实我想知道的,只有一件事: 存不存在一种思路c5,使它同时具备c1的语法简洁性和c4的速度?
投票截图2013.10.2
谁给我讲讲Flatten的第四种语法(即ArrayFlatten的第一种语法) 如题。我指的是自带帮助中开头部分从上往下数的第四种语法,即: Flatten[list,{{Subscript[s, 11],Subscript[s, 12],...},{Subscript[s, 21],Subscript[s, 22],...},...}] 这种语法相对用的不多,但是在组合分块矩阵的时候就会很有用,比如说这帖:http://tieba.baidu.com/p/2597026828 我对着帮助研究了半天,也没弄明白这个压平到底是怎么压的,不知谁能做一下简洁易懂的讲解?
时域有限差分(FDTD)的Matlab代码(唉呀其实就是个循环)的优化 事情的起因是看到了这个帖子: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fforums.wolfram.com%2Fstudent-support%2Ftopics%2F23872&urlrefer=91316415bc512a6d5568ba0bb10de4b8 这段Matlab代码要移植进Mathematica还是很容易的。以下是我做的移植(做了极简单的优化): Clear["`*"] c = 2.99792458 10^8;(*% speed of light*) mu = 4.0*Pi*1.0 10^-7;(*% free space def*) eps = 1.0/(c*c*mu); freq = 10^8;(*% frequency*) ie = 100;(*% grids*) je = 100; steps = 200;(*% number of time steps to simulate*) lambda = 1/freq; dx = lambda/20; dy = lambda/20; dt = 1/(c*Sqrt[1/dx^2 + 1/dy^2]); (*% updating coefficients*) c1 = dt/(eps*dx); c2 = dt/(mu*dx); (*% setup arrays*) ez = hx = hy = ConstantArray[0., {ie + 1, je + 1}]; (*% fdtd algorithm*) (*Compile[{{steps,_Integer}},*)Do[ ez[[2 ;; ie, 2 ;; je]] = ez[[2 ;; ie, 2 ;; je]] + c1*(hx[[2 ;; ie, 1 ;; je - 1]] - hx[[2 ;; ie, 2 ;; je]] + hy[[2 ;; ie, 2 ;; je]] - hy[[1 ;; ie - 1, 2 ;; je]]); (*% source*) ez[[ie/2, je/2]] = -E^(-0.01` (-40.` + n)^2) + E^(-0.01` (-20.` + n)^2); hx[[2 ;; ie, 1 ;; je]] = hx[[2 ;; ie, 1 ;; je]] + c2*(ez[[2 ;; ie, 1 ;; je]] - ez[[2 ;; ie, 2 ;; je + 1]]); hy[[1 ;; ie, 2 ;; je]] = hy[[1 ;; ie, 2 ;; je]] + c2*(ez[[2 ;; ie + 1, 2 ;; je]] - ez[[1 ;; ie, 2 ;; je]]); , {n, steps}](*,CompilationTarget->"C",RuntimeOptions->"Speed"][steps]*)// AbsoluteTiming; (*% plot ez at last step*) ListPlot3D[ez, PlotRange -> All] ListPlot3D[hx, PlotRange -> All] ListPlot3D[hy, PlotRange -> All] 现在的问题是,这个代码比原始代码——因为是借别人的机子测试的,所以不算准确的比较,但是——慢 约5倍。 编译,至少是直接的编译,对速度没什么提高——咬咬牙装了个C编译器速度居然还变慢了……不知诸位有什么高招没?
关于隐函数的曲线的长度的数值计算 在知道上看到的题目: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F572410695.html%3Ffr%3Duc_push%26push%3Dkeyword%26oldq%3D1&urlrefer=b4d115b247e76e75b99c328628063e11 最后只想出来了这么个邪道的解法。感觉上应该是有正面解法的,但是就是想不到。 顺便,对于这个方程的求解,FindRoot,NSolve似乎都不那么好用。
怎么样让这段代码的递归式快过循环式? 答这个问题的时候遇到的: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F557823771.html%3Fsort%3D6%26old%3D1%23answer-1402253786&urlrefer=1b47ac72b26727c2b2bbbb96561adec1 n=101; mat=ConstantArray["*",{n,n}]; mid=(1+n)/2; mat[[mid,mid]]=0; i=2; Nest[(mat[[mid-i,mid-i;;mid+i]]=0; mat[[mid+i,mid-i;;mid+i]]=0; mat[[mid-i+1;;mid+i-1,mid-i]]=0; mat[[mid-i+1;;mid+i-1,mid+i]]=0;i+=2;)&, ,1/4 (-2-I^(1+n)+n)];//AbsoluteTiming (* {0.0020000, Null} *) 写完那个递归式的之后,就想试试用循环的速度如何。于是: n=101; mat=ConstantArray["*",{n,n}]; mid=(1+n)/2; mat[[mid,mid]]=0; Do[mat[[mid-i,mid-i;;mid+i]]=0; mat[[mid+i,mid-i;;mid+i]]=0; mat[[mid-i+1;;mid+i-1,mid-i]]=0; mat[[mid-i+1;;mid+i-1,mid+i]]=0;, {i,2,1/2 (-2-I^(1+n)+n),2}];//AbsoluteTiming (* {0.0020000, Null} *) ……那么再来看看For吧: n=101; mat=ConstantArray["*",{n,n}]; mid=(1+n)/2; mat[[mid,mid]]=0; For[i=2,mid-i>=1,i+=2,mat[[mid-i,mid-i;;mid+i]]=0; mat[[mid+i,mid-i;;mid+i]]=0; mat[[mid-i+1;;mid+i-1,mid-i]]=0; mat[[mid-i+1;;mid+i-1,mid+i]]=0];//AbsoluteTiming (* {0.0020000, Null} *) ……什么情况。 三段代码的运行速度可能会有0.001 s 左右的浮动,但是它们的速度的确没明显区别……果然是我用递归的方法不对吗?
把一个函数拆开Compile几次生成的函数会比一次性生成的函数快? 这是答这个问题的时候发觉的: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F557717614.html%3Ffr%3Duc_push%26push%3Dkeyword%26oldq%3D1%23answer-1401951926&urlrefer=5e49dd3cb0ebea35de9534c3fcbb0c13 以下是修正那帖楼主的问题代码后得到的代码: m = 0.8; w = \[Pi]; i = 5.6; vma1 = Compile[{{t, _Real}}, m Sin[w t]]; vmb1 = Compile[{{t, _Real}}, m Sin[w t - (2 \[Pi])/3]]; vmc1 = Compile[{{t, _Real}}, m Sin[w t + (2 \[Pi])/3]]; ia = Compile[{{t, _Real}, {\[Theta], _Real}}, i Sin[w t - \[Theta]]]; ib = Compile[{{t, _Real}, {\[Theta], _Real}}, i Sin[w t - (2 \[Pi])/3 - \[Theta]]]; ic = Compile[{{t, _Real}, {\[Theta], _Real}}, i Sin[w t + (2 \[Pi])/3 - \[Theta]]]; inavg = Compile[{{v0, _Real}, {t, _Real}, {q, _Real}}, -(Sign[ vma1[t] + v0] (vma1[t] + v0) ia[t, q] + Sign[vmb1[t] + v0] (vmb1[t] + v0) ib[t, q] + Sign[vmc1[t] + v0] (vmc1[t] + v0) ic[t, q])]; newinavg[v0_?NumericQ, t_?NumericQ, q_?NumericQ] := inavg[v0, t, q]; vc10 = 280;vc1[v0_?NumericQ, q_?NumericQ] := vc10 + (1/(2/4700.^6)) NIntegrate[newinavg[v0, t, q], {t, 0, 0.3}, Method -> {Automatic, "SymbolicProcessing" -> False}]; Plot3D[vc1[v0, \[Theta]], {v0, -0.2, 0.2}, {\[Theta], -Pi, Pi}] // AbsoluteTiming 这段代码重复Compile了很多次。直觉上这似乎不利于提速,于是我弄了个精简版: m = 0.8; w = Pi; i = 5.6; inavg = Compile[{v0, t, \[Theta]}, -(Sign[ m*Sin[w*t] + v0]*( m*Sin[w*t] + v0)*i* Sin[w*t - \[Theta]] + Sign[m*Sin[w*t - (2*Pi)/3] + v0]*(m*Sin[w*t - (2*Pi)/3] + v0)*i* Sin[w*t - (2*Pi)/3 - \[Theta]] + Sign[m*Sin[w*t + (2*Pi)/3] + v0]*(m*Sin[w*t + (2*Pi)/3] + v0)*i* Sin[w*t + (2*Pi)/3 - \[Theta]])]; newinavg[v0_?NumericQ, t_?NumericQ, \[Theta]_?NumericQ] := inavg[v0, t, \[Theta]]; vc10 = 280; vc1[(v0_)?NumericQ, (\[Theta]_)?NumericQ] := vc10 + (1/(2/4700.^6))* NIntegrate[newinavg[v0, t, \[Theta]], {t, 0, 0.3}, Method -> {Automatic, "SymbolicProcessing" -> False}]; AbsoluteTiming[ Plot3D[vc1[v0, \[Theta]], {v0, -0.2, 0.2}, {\[Theta], -Pi, Pi}]] 可是,反复执行对比的结果是,下面的精简版始终会比上面的慢5s左右,这是怎么回事?难不成是拆得越碎速度越快?
偶然发现自带教程中居然残留了一个报废了不知道多少个版本的技巧 如题。Mathematica的自带帮助一向以高质量著称。居然会含有这样的疏漏这还真是让人惊讶。这处内容位于自带帮助的 tutorial/BasicPlotting 条目下。在线的版本则在这里: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Freference.wolfram.com%2Fmathematica%2Ftutorial%2FBasicPlotting.html&urlrefer=2386b88357b4077393c886f05f811d89 这个教程声称:将奇点在画图范围内指明,在画图时这些奇点就可以被忽略. 并且给出了这个代码: Plot[Tan[x], {x, -3, -Pi/2, Pi/2, 3}] 搞的我看的时候还惊了一下:Plot原来还有这样的语法我都一直没发现!结果一试:……………… 不过貌似由于这篇教程与其他条目重叠太多,所以看的人少,结果这么长时间了都没人发现? 至于这个语法是哪个版本的Mathematica残留下来的嘛,待考。
现在有哪些能做数值拉普拉斯反变换的函数包或现成代码? 这个问题是在回答这个问题的时候产生的: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F554772094.html%3Foldq%3D1%26from%3DcommentTo%23answer-1396315449&urlrefer=8959f32a3a455f74617c0c892e7338ce 注意答案的评论里面有我的补充。 我试着找了一下,只在我在评论里放的那个地址里找到了一个现成函数,一次只能算一个点,不过要利用它搞出列表或是插值函数之类的也没什么难的,但是让我在意的是我又发现了这个: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F4773%2Fnumerically-obtaining-the-inverse-laplace-transform-of-data&urlrefer=6764c358ebca34621453eaa65a07d15b 按文中的说法,能完成类似功能的现成函数包应该有多个,那么,在哪里能找到他们?
【交流】怎么让贴到吧里的代码不是一团乱麻 这里针对Mathematica代码直接贴入贴吧时经常变乱这一问题做了一点点总结和探索,还很不完备,欢迎大家补充。 现在已知的有 1 代码中不要出现,凡是出现了的,全部使用[a]之类的东西代替,总之不能在两个中括号之间用b。 可能的 原因: 百度贴吧的字体加粗的后台语法(这词我生造的,因为不知道该怎么叫……)似乎遵循的是UBB代码的语法,也就是说,当一段文字的头部出现 英文左中括号+b+英文右中括号 时,其后的文字将被加粗,后面没字时这三个字符则会被直接吞掉。(不信的可以现在就试试。) 未解明部分: (1) 没有加粗权限时系统会如何处理? (2) 红字按理来说也有相应的代码,它的代码是什么?(不过,考虑到至今没人碰到,一定比较复杂……) 2 复制代码时,要选择右键菜单中的“复制”,或是直接使用快捷键Ctrl+C。不要使用“复制为”下面的选项。 绝对不要选择“复制为 -> 单元表达式 / 笔记本表达式”。 顺便不听话的下场就是这样:3 在代码中所有换行的地方,预先多回车一次,也就是预留一个空行。(一个 简便方法是,如果手上有 EmEditor 之类的文本编辑器的话,可以先把代码贴进去,然后Ctrl+H,勾选“使用转义符,然后将 \n 替换为 \n\n 。) 理由:贴吧在贴入文本时会自动吃掉一个换行符,但是它疑似只吃一个…… 未解明部分:我尝试找到一个Mathematica原生的方法来解决这个问题。(StringReplace之类),但是问题比我想的要复杂得多,我没能成功…… 目前发现的就这些,请大家补充。
如何由已有的函数图象快速得到反函数的图象? 如题……就在我写这个问题的时候我自己想到了一种,那么,有没有更好更稳定的方法?: rf[p] := p /.Line[a__] :> Line[Reverse /@ a] /. (PlotRange -> {a_, b_}) :> (PlotRange -> {b, a}) /. (AspectRatio -> a_) :> (AspectRatio -> a^-1) 例: p = Plot[Sin[x], {x, -10, 10}] rf[p]
如何寻找与一簇曲线在任意交点处都正交的另一簇曲线? 这个问题其实是在尝试解答这个问题的时候产生的: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F18921%2Fhow-do-i-solve-a-pde-with-a-strange-boundary-condition&urlrefer=0376da9ce14a077b3f94d5188dce71ba 偶然想到,假如能够构造一个使得不规则边界变规则的新坐标系,那这个问题应该就可以解决了。这就涉及了曲线坐标系的构造的问题。 比如说,对于一系列曲线 x^6 + y^4 == r (r是大于0的参数),怎么样的另一系列曲线,是和它们在每个交点处都垂直的? 我没学过嗯。 自己试了半天也试不出来嗯。 在知道上问了一下: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F539594689%3Fquesup2%26oldq%3D1&urlrefer=fc478b64c4248fc25a4ad892db5c5be0 也没人答嗯…… 于是,有人知道吗?
这个例子里的赋值过程就这么慢? 一点偶然的机会,我对Monitor产生了兴趣,于是开始翻看帮助。 我看到了这么个例子: Monitor[NDSolve[{D[u[t, x], t, t] == D[u[t, x], x, x] + Sin[u[t, x]], u[0, x] == E^(-x^2), Derivative[1, 0][u][0, x] == 0, u[t, -10] == u[t, 10]}, u, {t, 0, 10}, {x, -10, 10}, StepMonitor :> (sol = u[t, x]; time = t)], Plot[sol, {x, -10, 10}, PlotRange -> {0, 8}, PlotLabel -> time]] 虽然帮助对Monitor里面的变量局部化的关系说的不是很清楚,但是对照上下文(具体来说,就是紧接着的下面一个例子),我产生了一个疑问:上面这个例子的StepMonitor里的赋值过程不是多余的吗?改成这样不就行了吗? Monitor[NDSolve[{D[u[t, x], t, t] == D[u[t, x], x, x] + Sin[u[t, x]], u[0, x] == E^(-x^2), Derivative[1, 0][u][0, x] == 0, u[t, -10] == u[t, 10]}, u, {t, 0, 10}, {x, -10, 10}], Plot[u[t, x], {x, -10, 10}, PlotRange -> {0, 8}, PlotLabel -> t]] 但是实际运行,不行…… 又仔细研究了一下帮助,发现下面一个例子,是在StepMonitor里加了个Pause,于是我模仿着也加了一个: Monitor[NDSolve[{D[u[t, x], t, t] == D[u[t, x], x, x] + Sin[u[t, x]], u[0, x] == E^(-x^2), Derivative[1, 0][u][0, x] == 0, u[t, -10] == u[t, 10]}, u, t, 0, 10}, {x, -10, 10}, StepMonitor :> Pause[0.5]], Plot[u[t, x], {x, -10, 10}, PlotRange -> {0, 8}, PlotLabel -> t]] 这下可以了——等一下,第一段代码和第二段代码的区别,也就是有没有重新赋值而已,这个过程就这么慢?!事实上,我拿紧接着的下一个例子也试了试,重新赋值就没能弄出这么夸张的延迟: data = {{0.18, -0.13}, {0.84, -0.06}, {0.05, 0.88}, {0.24, -0.63}, {0.67, 0.93}, {0.05, 0.88}, {0.65, 0.92}, {0.01, 0.99}, {0.17, -0.04}, {0.23, -0.55}};lp = ListPlot[data, PlotRange -> All]; model[{a_, k_, w_, p_}][x_] = a Exp[-k x] Sin[w x + p]; Module[{vars = {a, k, w, p}}, Monitor[FindFit[data, model[vars][x], vars, x, StepMonitor :> (mm = model[vars][x])], Show[Plot[mm, {x, 0, 1}, PlotRange -> {-2, 2}], lp]]] 这算啥?总不会是在StepMonitor里玩赋值会拖慢整个计算的速度吧?有人知道是怎么回事吗?
那啥,我好像被开掉了啊…… 嘛,很长时间没做管理(不过也没什么需要我做的啊……)被开掉也没办法,还在活跃的诸位,@我是第八个魂器 @jklzyl 尽快申请啊,位置空着可是很麻烦的……
嗯……百度强制开了这个吧我也很无奈…… 大家有问题还是上知道上去问,本来生意就够差了就别再减少收入了……想讨论什么别的也都去mathematica吧或者stackexchange网站吧……这边我一般是不会看的——啊,别看我一直在签到,那全是贴吧助手弄的,以上。
关于MemberQ和FreeQ的区别问题 又在知道上遇到搞不定的题了: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F524626092.html%3Fsort%3D6%26old%3D1%26afterAnswer%3D1%23answer-1322910220&urlrefer=d3f6cab8317c1c18fcd153462ecba22c 主要是那个第一问。乍看应该是个很容易用FullForm来解释的问题,可是事情没那么简单。 实际上这个在MemberQ帮助的 可能存在的问题 里面提及了,但是却说的很含糊。只说是FreeQ可以测试“子序列”,到底什么“子序列”?具有相同头部但是参数是原表达式参数的子集的式子、比如aaa[a,c]就是aaa[a,b,c]的子序列? 并非如此。 反复实验之后,发现只有头部具有 Flat 属性的表达式才会使FreeQ得到False。原因……不知道。 翻翻Leonid的书里关于MemberQ和FreeQ的部分(我找到的是在134页前后,不知道是不是在别的部分还有提及),Leonid的意思好像是这和FreeQ的Heads->True有关,但是改变MemberQ和FreeQ的Heads选项,依旧没有用。 作用层我当然也调过了,没有用。顺便要让FreeQ返回False当然必须包括第0层。 有人知道是怎么回事吗。
百度知道上的不会答的题一道 提问者看到了维基上一幅用Mma画的图,想要自己画。问题地址: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F523792606.html%3Ffr%3Duc_push%26push%3Dkeyword%26oldq%3D1%23answer-1321137858&urlrefer=cffdc074cbbbbc4387a41810e0d03f8d 乍看好像没什么难的,可是仔细一瞧……这个图像……到底是怎么画的?按百科,Cis函数的定义似乎是: Cis[x]:=Cos[x]+I Sin[x] 就算先不考虑配色方案,由这个函数要如何得到这种形貌的图像?:然后,关于这个配色方案,百科其实给出了它的源代码: commons.wikimedia.org /wiki/File:Complex_coloring.jpg 但是这个代码在版本7以后其实已经过时,要如何修改,或者,是不是有什么方法直接由那个配乐图得到配乐方案?
Leonid Shifrin那书第90页,3.10.3.4的上面的那个算例错了吧? 前面那个testlist是 testlist={8, 12, 10, 3, 13, 15, 13, 6, 6, 2, 4, 9, 5, 11, 6, 10, 7, 4, 15, 5} 啊, runEncodeFP[x_List]:=Map[{First@#, Length@#} &, Split@x] 之后怎么会是那个结果?
一个关于上下标的Bug(?),你们能重现吗? 起因是这个问题: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F517066465.html%3Ffr%3Duc_push%26push%3Dkeyword%26oldq%3D1&urlrefer=135d941b9a7efff28134ff52b617b7b0 我试了一下,我这里也有同样的问题,就上Stackexchange问了一下: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fmathematica.stackexchange.com%2Fquestions%2F17867%2Fthe-shortcut-for-subsuperscript-doesnt-work&urlrefer=acefb1f57f83843c1f83f3d7f642547c 可是截止目前,没人能重现这个问题。怎么回事?真是Vista Only?
关于Mathematica的字体修改 刚看到知道上有人问,结果自己试了下,真的改不动…… Shift+Ctrl+O,选全局偏好 -> 格式选项 -> 字体选项,去改FontFamily,应用,没反应,试了几种,都没反应…… 但是FontSize是可以改的。 用 SetOptions[$FrontEnd, FontFamily -> "Arial"] 依旧没反应,但是 SetOptions[$FrontEnd, FontSize -> 12] 立竿见影…… 是怎么回事? 提问者用的是版本5,我用的当然是版本8。 原提问: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F512346807.html%3Fsort%3D6%26old%3D1%26afterAnswer%3D1%23answer-1293936579&urlrefer=09a675224bec94341eda53202b8c2350
【这是跑题吧这就是跑题吧】关于Leonid那书的74页的一句话 While the first realization became significantly complex to question the advantage of this programmingstyle compared to a traditional procedural programming based on nested loops, my primary goal here wasto illustrate the use of Position command, and perhaps give a flavor of a few others. 就是became significantly complex to question这个部分,我感觉,从上下文来看这里应该是“复杂到让人开始怀疑”之类的意思,也就是类似于complex enough to question,可是搜了半天,没搜到有这样的用法啊……那这段是什么意思呢?
关于mathematica的语句调试 之前我发了个知道的答题邀请,其实里面有个问题是不那么好答的: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F475336933.html%3Fquesup2&urlrefer=177d720a09689fab71de8742e5d8e07c 我曾一度想要去stackexchange问这个问题,但是,随着我渐渐习惯了研究警告信息以及自用监视性的代码,这个问题被我搁置了…… 可是今天,在知道上我看到了这么一个问题: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F508669617.html%3Fsort%3D6%26old%3D1%26afterAnswer%3D1%23answer-1282403169&urlrefer=9ff5523b0a3535752fc1773e14cc8534 于是,我对mathematica的调试又来了兴趣。mathematica里有这样的对话框吗?以及,哪里有那个调试控制器的教程吗?
为什么网上找不到版本6和版本7的官方中文版… 实际上当年看那本《mathematica7实用教程》的时候,里面就提到版本7里有中文版。刚才无意逛到官网的这里: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.wolfram.com%2Fmathematica%2Fquick-revision-history.zh.html&urlrefer=657edbac6eff49f420fe3e1fa8be6317 让我们看看版本6和7的说明:Mathematica 6.0.1 首次推出相应的中文版 Mathematica 7.0.1 在本地化中文版本(Windows 系统)下,提供了完整的中文版函数和指南页面 官网应该不会说谎,版本6和版本7的中文版肯定是存在的。【虽然很可能版本6是只译了界面,版本7的翻译还不完备(版本8.0.1的说明是“在本地化中文版本(Windows 系统)下,提供了高质量的中文用户界面和中文参考资料中心”)。】那么为什么网上会没有呢?难道那时候官方抓的比较严吗? 话说,其实现在的版本8的文档,也没完全翻译,并且有少量的词句也译的不大恰当呢……
Mma专攻团百度知道邀请赛 Mathematica贴吧如今有了秩序,很好很好——百度知道那边的“生意”也因此比以前淡了不少。于是,为了增加我的团队的生意,满足我那可悲的虚荣心,早日赚取到足以换取鼠标垫的角的财富值……好吧,其实主要是突然来了劲,觉得一大堆未处理问题挂在那里看着难受,所以决定把我过去曾在百度知道上问过但没人答的mathematica问题列出,欢迎诸位加入了和没加入Mma专攻团的同志们回答。 以下问题,有许多如今我都心里有谱了,但是,百度知道是没有自答系统的……: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F416377318.html%3Fquesup2&urlrefer=b46f54a9bbca052d53181cc96f97724e http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F455225843.html%3Fquesup2&urlrefer=03159e37ea5d8e720727fb1c7bb166fb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F455608202.html%3Fquesup2&urlrefer=4c3c1f59cb2e39e10a89330e25579f03 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F455615000.html%3Fquesup2&urlrefer=e012dcfa1a2cea861b80179b85713566 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F455642304.html%3Fquesup2&urlrefer=5479d88d4e6585fda0ad7fd2ce724981 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F456451260.html%3Fquesup2&urlrefer=6812bc1646d607c6e784ac5b84967512 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F456955649.html%3Fquesup2&urlrefer=253a523c971283d519de4acae03c6306 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fzhidao.baidu.com%2Fquestion%2F475336933.html%3Fquesup2&urlrefer=177d720a09689fab71de8742e5d8e07c
话说mathematica这个词到底怎么读啊? 如题。有道上没给音标,但听发音好像是 [,mæθə'mætik ɑ],在哪里能确切无疑地查到它的发音?搜了搜,发现这个词好像也不是现代造的,牛顿那本《自然哲学的数学原理》就是用的这个词表示“数学”,有人知道这个词和 mathematic 的关系是啥吗?
……分类到计算机软件下面了?不是应该分到程序设计下面吗? 如题。
截止版本9的Mathematica全符号及函数列表……你会用多少? 刚想到了这个问题,就上stackexchange的聊天室问了下,果然有人数过了……: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2F12000.org%2Fmy_notes%2Fcompare_mathematica%2FV9%2Fmain.html&urlrefer=9188a4ebc43a394e75afbc462b0b7762 第三项是全部函数。这里面的函数,诸位知道多少呢?掌握了多少呢?我?我还没数……
Mathematica代码分布式计算请求(请确保你的内存有2G以上……) 我编写了一小段代码,代码本身应该没什么问题,但是运算所需资源较多,我的电脑内存不足,故现在请求电脑强悍的同志帮忙一算,.nb文件在此下载: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D144033%26uk%3D3976248536&urlrefer=5e0f336e551a2bd9eb3b5d5aea49f11d 这里面的代码用的是分号分隔,但是各个中间变量的具体值我还是想看看的,所以希望能将它们输出后一并保存在笔记本里发还给我。至于发到哪……也用百度网盘就好了吧。
【外交】嗯……钢铁是怎样炼成的吧应邀前来访问 鄙人应乱世佳人吧发言人之邀前来访问——话是这么说,乱世佳人的原著我还没读过所以这里先不掺合了。欢迎各位前来钢铁是怎样炼成的吧参与讨论。 钢铁是怎样炼成的吧直通车:http://tieba.baidu.com/f?kw=%B8%D6%CC%FA%CA%C7%D4%F5%D1%F9%C1%B6%B3%C9%B5%C4
【求助】汉化《武器种族传说~封印されし讴》遇阻,无法找到字库 唔……出于一点病态的执着,我正在尝试汉化这个游戏。在网上看了些教程,找了crystaltile2和蓝山魔导又弄了个日文码表,算是把文本导出来了,但是,我找不到字库……只能找到这么个疑似字库的地方,但怎么重组也组不出字来:要怎么调节? 顺便,现在看来我的破解水平实在是不济……码表方面还好说,按照教程上的说法,接下来还得改字库什么的我实在是没什么底,有没有人有兴趣与我合作汉化此游戏?我可以承接文本(初步估算约12万字)的汉化工作。
爱《这里的黎明静悄悄》的人都是什么星座的?
关于小小输入法的“工具”选项里的“优化码表”和“归并用户码表” 这两个选项是做什么用的?小小的自带帮助里也没有说……
五个女兵谁的死最让你悲伤?
【转载】《这里的黎明静悄悄》的作者如今在想些什么?——鲍里斯· 在中国知网下载了一些有关《这里的黎明静悄悄》的论文,拿来与大家分享。包括本文在内的数篇以“【转载】”开头的论文均已发表于实体刊物,放在吧里,主要是考虑到网络上相关资源的匮乏,然后,这句话还是不能不说:请勿用这些论文为己牟利! 另,中国知网所含论文众多,我只是据标题选择了其中的一部分。它们也不代表我的个人观点。 因为贴吧对贴出图片的大小进行了限制,文章的直接贴出已无意义,请点击下列链接进行阅读。 第1页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fd46be42420d41f3a4c088d81.jpg&urlrefer=f6a9f67c6c6f3210bb35b7081f6c8b4d 第2页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fb645df1b5ea4adeead6e7583.jpg&urlrefer=59f458b3752aee5ca6cd3c08bad457bc 第3页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F649874317c070522ebc4af8e.jpg&urlrefer=99b8f43dcee66d1cacd8a12c71ff0af8
【转载】谈《钢铁是怎样炼成的》的早期翻译情况——兼对两种早期中 在中国知网下载了一些有关《钢铁是怎样炼成的》的论文,拿来与大家分享。包括本文在内的十余篇以“【转载】”开头的论文均已发表于实体刊物,放在吧里,主要是考虑到网络上相关资源的匮乏,然后,这句话还是不能不说:请勿用这些论文为己牟利! 另,中国知网所含论文众多,单是以《钢铁是怎样炼成的》为主题的就有167篇。(涉及《钢》的就更多了。)我只是据标题选择了其中的一部分。它们也不代表我的个人观点。 因为贴吧对贴出图片的大小进行了限制,文章的直接贴出已无意义,请点击下列链接进行阅读。 第1页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fa46e4936544e9ae6a2cc2be1.jpg&urlrefer=f47e26df8158f2564948a59831d3e625 第2页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F3b37372a24bfa4035243c1e3.jpg&urlrefer=ae63b24eb0e062f592d51a7c2a3b7208 第3页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F617ee9c4c8a3f7928326acee.jpg&urlrefer=927ddb9165380d43e0a8c00aff0936b7
【转载】《钢铁是怎样炼成的》新译本评介 在中国知网下载了一些有关《钢铁是怎样炼成的》的论文,拿来与大家分享。包括本文在内的十余篇以“【转载】”开头的论文均已发表于实体刊物,放在吧里,主要是考虑到网络上相关资源的匮乏,然后,这句话还是不能不说:请勿用这些论文为己牟利! 另,中国知网所含论文众多,单是以《钢铁是怎样炼成的》为主题的就有167篇。(涉及《钢》的就更多了。)我只是据标题选择了其中的一部分。它们也不代表我的个人观点。 因为贴吧对贴出图片的大小进行了限制,文章的直接贴出已无意义,请点击下列链接进行阅读。 第1页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fcd57eb2426521d3a4d088d0b.jpg&urlrefer=003045f144d7715c221840795dcf7be8 第2页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F07058735ef13532a91ef3915.jpg&urlrefer=80f9d08827c476b8ab9de1144df40673 第3页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F6b75cafc8f1f77c6fd037f10.jpg&urlrefer=0e534fb5e6f9d76b8b281929def5dbf6 第4页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F0b9ed52ab28a9116d52af113.jpg&urlrefer=554fb7358641b4fe48457cc70cb201b6
【转载】透彻地理解 准确地翻译——谈《钢铁是怎样炼成的》中译本 在中国知网下载了一些有关《钢铁是怎样炼成的》的论文,拿来与大家分享。包括本文在内的十余篇以“【转载】”开头的论文均已发表于实体刊物,放在吧里,主要是考虑到网络上相关资源的匮乏,然后,这句话还是不能不说:请勿用这些论文为己牟利! 另,中国知网所含论文众多,单是以《钢铁是怎样炼成的》为主题的就有167篇。(涉及《钢》的就更多了。)我只是据标题选择了其中的一部分。它们也不代表我的个人观点。 因为贴吧对贴出图片的大小进行了限制,文章的直接贴出已无意义,请点击下列链接进行阅读。 第1页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2Fe9a09d3dbc43653bbba16726.jpg&urlrefer=3c84dbde0c460c54471b00ed7ebd96ec 第2页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F064d2a34e23ab7005ab5f521.jpg&urlrefer=2e19d73874b232a33461caa905f55a39 第3页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F84299058f6ad07e59d820423.jpg&urlrefer=052193315bd6a62fae2c19a1346b3174 第4页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F4ee5d358e719d8ba810a182d.jpg&urlrefer=b5ea4d467b560e349b6130ef1788a1b1 第5页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F6a6979ec564e82ea2e2e2128.jpg&urlrefer=6fcdc4637b6174467cb3f5e3cc806488 第6页: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F298aa9647486cccbf6365408.jpg&urlrefer=007bc5611fd20dd07fca4aeaa06ed3ee
[老物][MU][C2Club][宠物小精灵不可思议的迷宫2 - 时之探险队·暗 本链接首发于口袋吧。 因为前段时间看了《空之探险队》便试着调查了一下,于是发现了这个。BT或电驴都已很难下了,我费了不少劲,于是决定上传,方便大家……这其实严格来说不能算我上传的,因为我尝试上传时这个任务瞬间就完成了…… http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.megaupload.com%2F%3Fd%3D04BXD8N2&urlrefer=882750479772f0c9d21b69e65def16c4
(BUG反馈)手机删除匿名发表的主题下的回帖时会导致主题被吞 如题。我是钢铁是怎样炼成的吧吧主。此情况已发生两次,且消失的主楼不出现在吧务后台,故无法在吧务后台恢复。望速解决。
【图透】目前为止获得的唯一一张《武器种族传说》红本十八卷的图 感谢昆仑 loneliness 的努力,他也不知是通过什么渠道,淘到了这么一张《武器种族传说》十八卷——确切地说是最终回——的图。原帖地址: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fforum.ikunlun.net%2Ftopic.php%3Ftopic_id%3D270395%26forum_id%3D5%26forum_page%3D1%26class_id%3D0&urlrefer=1db3e6c9e46670627e5dcf91bb7bf878 当然昆仑是不允许游客看附件的,所以不愿注册的看这里:………………不知道大家看了这幅图有何感想? 我最大的感想就是:这是哪个混蛋扫的图啊,别的不扫偏扫这么一张!应该没人看不懂这一幕是怎么回事吧,右:蕾一副看开一切的表情,微笑道:“一直以来,谢谢你了。”中:紧握的手,松开了,应该是比较传统的那种就要掉下去的情况,旁边是蕾的心声,“最喜欢你了。”左:焦急不已的酷。 …………呜呜,我要看十八卷哪!
首页
1
2
3
4
下一页