Wolfram mathematica 让Return[]执行其正确的(C+;+;)任务
我看到这个站点上有很多关于Return[]函数的线程。甚至对它的行为也有很好的描述。但是如果我对Mathematica真的是新手,会发生什么呢 不用多说,我想使用这个函数:Wolfram mathematica 让Return[]执行其正确的(C+;+;)任务,wolfram-mathematica,return,Wolfram Mathematica,Return,我看到这个站点上有很多关于Return[]函数的线程。甚至对它的行为也有很好的描述。但是如果我对Mathematica真的是新手,会发生什么呢 不用多说,我想使用这个函数: getBinIndex[eta_, pt_, etalimits_, ptlimits_] := List[ For[i = 1, i < Length[etalimits], i++, If[eta < etalimits[[i + 1]], Return
getBinIndex[eta_, pt_, etalimits_, ptlimits_] :=
List[
For[i = 1, i < Length[etalimits], i++,
If[eta < etalimits[[i + 1]], Return[i]]],
For[i = 1, i < Length[ptlimits], i++,
If[pt < ptlimits[[i + 1]], Return[i]]]
];
getBinIndex[eta_uu,pt_uu,etalimits_uuu,ptlimits_uu]:
名单[
对于[i=1,i
正如你所看到的,我真的是个新手。我想在Mathematica中有一百万种方法可以做到这一点,但我有C的背景,我觉得有必要告诉计算机一切。该函数起作用。它返回一个包含2个变量的列表,经过大量测试,这些变量都是可以的。但它将结果作为两个Return的参数:{Return[4],Return[5]},例如,我不能将其用作…表的索引。要将这些返回[x]转换为x,您需要做什么
为了让你知道我有多像个新手,我尝试了N[Return[I]]
干杯
阿德里安
当然,在mathematica中,你几乎不需要循环。。
差不多
Position[etalimits,ei_/;ei<eta&][[1,1]]
<代码>位置[EtimimIs],eIi//;这是一个Mathematica标签,希望这个问题现在有意义。它与C++无关。非常感谢乔治。它起作用了(catch版本)。我正在研究Position版本。这很奇怪,所以我的函数结果实际上是一个例外:)。我必须学习更多关于Mathematica的知识。@user2285967您可能会发现这条线索很有用:“谢谢,Alexey!我真的买了Sal Mangano的食谱和Schaum的Mathematica大纲。现在我必须为它们腾出一些时间。
Position[etalimits,ei_/;ei<eta&][[1,1]]
For[i = 1, i < Length[etalimits], i++,
If[eta < etalimits[[i + 1]], Return[i,CompoundExpression]]];,