mathematica中循环怎么实现

 我来答
solointer31
推荐于2018-02-27 · TA获得超过2517个赞
知道大有可为答主
回答量:1420
采纳率:85%
帮助的人:629万
展开全部
1.
1. Do循环结构
简单地Do循环结构形式:
Do[expr,{i,imax}] 循环计算expr,以步长1,i从1增加到imax
Do[expr,{i,imin,imax,di}] 循环计算expr,以步长di,i从imin增加到imax
Do[expr,{n}] 循环计算expr n次
计算Print[i+i^2],i从1增加到3:
In[1]:=Do[Print[i+i^2],{i,1,3}]
Do中的定义的循环方式与函数Table和Sum中的定义一样。在函数Do中,你同样能建立重循环。下面给出的i从1到4进行循环,而对于每个i,j又从1到i-1进行循环:
In[2]:=Do[Print[{i,j}],{i,1,4},{j,1,i-1}] 两个{}中的初值1可以省略
{2,1}
{3,1}
{3,2}
{4,1}
{4,2}
{4,3}
我们还可把一个过程放入Do函数中:
In[3]:=t=67;Do[Print[t];t=Floor[t/2],{3}]
67
33
16
2. While与For结构
在Mathematica程序中,Do是以结构方式进行循环的,然而有时你需要生成非结构循环。此时,运用函数While和For是合适的。下面是While和For函数的循环结构形式:
While[test,body] 只要test为真,就重复计算body
For[start,test,incr,body] 以start为起始值,重复计算body和incr,直到test为假为止
当条件满足时,While循环一直进行,因此,为了防止死循环,在While 中应包括命令能改变test的值。
In[4]:=n=25;While[(n=Floor[n/3])!=0,Print[n]]
8
2
下面给出For循环的例子,i++表示i的值加1(在本节的最后我们给出在编程时常会用到的赋值方法):
In[5]:=For[i=1,i<4,i++,Print[i]]
1
2
3
下面再给出一个较复杂的For循环的例子,一旦i^2<l0不成立,就中止循环:
In[6]:=For[i=1;t=x,i^2<10,i++,t=t^2+i;Print[t]]
1+x 2
2+(1+x 2) 2
3+(2+(1+x 2) 2) 2
Mathematica中的函数While和For循环总是在执行循环体前对循环条件进行测试,一旦测试结果为假,就中止While和For循环,因此,循环体的计算总是在测试结果为真的情况下进行的。
茕述_
2019-01-09
知道答主
回答量:5
采纳率:0%
帮助的人:3794
展开全部

循环结构可查看mathematica中自带的帮助,mathematica提供以下循环结构

但强烈不建议使用For循环,也尽量避免使用Do和While详细原因可参看

note.youdao.com/noteshare?id=7334ad886b97de3565d59beea50b5350

这是mathematica吧吧主xzcyr的发布的一篇笔记

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式