可以使用Assumptions,Assuming和$Assumptions来给出参数的假设条件。例:
Integrate[2b√(1-x^2/a^2), {x, -b,h-b}, Assumptions -> { 0 <= h, h <= 2b }]
或 Assuming[ 0 <= h, h <= 2b,Integrate[2b√(1-x^2/a^2), {x, -b,h-b}]]
或 $Assumptions = 0 <= h && h <= 2b
Integrate[2b√(1-x^2/a^2), {x, -b,h-b}]
以上Integrate部分尽量用符号式表示。
近期因为要在 Linux 集群上运行一个计算量很大的 Mathematica 程序,所以我把核心的函数写为一个程序包,然后使用 Wolfram Mathematica 脚本来调用这个程序包。写完程序包之后发现在程序包的 Begin["Private`"]End[] 内定义的函数不能直接使用并行化的函数,如 ParallelSum 、 ParallelMap 等等。
这是因为程序包里的迭代变量在命名空间 MyPackage`Private` 之内,而并行化的函数默认使用的符号定义在 Context 之内。也就是说默认情况下,并行化的函数会去 Global` 寻找变量或函数等的定义,这便出错了 [1] 。
很简单,我们只需要为并行化的函数指定并行计算中函数的定义。具体方法如下 [1] [2] :
Plot[Sin[x], {x, 0, 6 Pi}]
Plot[Cos[x], {x, 0, 6 Pi}]
Limit[1/x, x -> 0]
Limit[Sin[x], x -> 0]
D[Sin[x], x]
D[1/x, x]
Integrate[Cos[x], x]
Integrate[3 x, x]
上面应该是你要的答案,你最好再问问其它人。
注意:字母的大小写;数字与字母之间有一个空格;要知道上面的特殊符号是如何输入进mathematica的
那40分你可以自己留着了。
嗯,大致能感觉到你在思路改进上的努力,但是我想说的是,我的感觉是——我的直觉是,你的思路上了歧途了,这种内置函数一个也用不进去,模式匹配不好用,要在各种步骤上阻碍软件对等式的自动计算,整体透着浓浓的过程式编程的味道的实现思路……用这种思路是没法发挥出Mathematica的力量的。“多项式”关键字下有这么多的内置函数,难道其中就没有你用的上的吗?
此外,需要注意的是,你的要求越是具体(至今为止你对你希望实现的程序的所有步骤都做了十分详细的要求)就越有可能限制答题者的思路,因为,你的要求中的所有步骤可能对你来说都是必要的,可是,在已经答了这么多个你的问题的现在,我不禁想问,这些步骤对你来说都是必要的吗?你需要的是否只是最后的结果?说到底,你想要的结果到底是啥?你问了这么多问题我也没法看出你到底在试图实现什么,你不妨说说你要做的是什么吧,那样对解决问题可能还有点帮助。
以上就是关于mathematica 求程序全部的内容,包括:mathematica 求程序、在 Mathematica 程序包里使用并行计算、Mathematica 作图程序 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)