用table,不要用for,举个例子,我想解 x^2 + kx + 1 == 0, k=1,2,3,,10这10个方程的解,那么就这么写
Table[x / Solve[x^2 + kx + 1 == 0, x], {k, 1, 10}]
首先,不建议在 mathematica 中使用循环,这是一种函数式编程语言,可以直接进行向量、矩阵的计算,你的这个计算应该是可以转化为矩阵计算的。
其次,FOR 循环的格式是,
可你的这个使用中的 test 项是 N1,应该是 i<=N1
很遗憾,Manipulate函数的结果是mathematica中的动态对象,这些动态对象是实时变化的,所以不能让他停住。
Animate 生成的内容是一系列的,然后合成在一起的,并不是实时计算的。
如果你觉得Manipulate函数太耗费资源,那么你可以升级你的电脑,另外一个办法是优化你的算法。
构造列表用什么Do啊,用Table啊,Table:
Flatten@Table[5ij + 1, {i, 2}, {j, 3}]
非要用Do就这样:
Last@Last@Reap@Do[Sow[5ij + 1], {i, 2}, {j, 3}]
还可以这样:
c = {};
Do[b = 5ij + 1; c = Append[c, b], {i, 2}, {j, 3}]
看起来差不多但其实大不相同并且更慢的,就这样:
a = {};
Do[b = 5ij + 1; AppendTo[a, b], {i, 2}, {j, 3}]
可以的,比如定义一个函数(欧几里德Euclid算法):
gcd[m0_, n0_] :=Module[{m = m0, n = n0},
While[n != 0, {m, n} = {n, Mod[m, n]}];
m
]
以上就是关于mathematica中,如何用循环语句生成数组循环语句是解方程,接n个方程,得n个解,r如何把解放到一个数组全部的内容,包括:mathematica中,如何用循环语句生成数组循环语句是解方程,接n个方程,得n个解,r如何把解放到一个数组、mathematica里for语句不循环跪求大神、Mathematica中Manipulate 函数与循环的问题.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)