定义多个功能我使用通常的for循环中的Mathematica进行计算:Mathematica的,使用用于循环
For[i=1,i<n+1,i++, ...calculation... ]
对于每个i
我需要定义一个函数F_i[x_,y_]:=...
。这里“我”被认为是该功能的标签。然而,这不是Mathematica的表达。
的问题是,如何定义由标签我辨别多种功能?我的意思是,什么是正确的语法?
非常感谢。
定义多个功能我使用通常的for循环中的Mathematica进行计算:Mathematica的,使用用于循环
For[i=1,i<n+1,i++, ...calculation... ]
对于每个i
我需要定义一个函数F_i[x_,y_]:=...
。这里“我”被认为是该功能的标签。然而,这不是Mathematica的表达。
的问题是,如何定义由标签我辨别多种功能?我的意思是,什么是正确的语法?
非常感谢。
我不完全知道你正在尝试做的,但我有一些信心,对循环不是在数学要走的路。 Mathematica已经有模式匹配,可能会消除循环的需要。
大约是这样的
f[i_][x_,y_]:= i(x+y)
或类似的东西这是什么
f[s_String][x_,y_]:=StringLength[s](x+y)
甚至
f[s_,x_,y_]:=StringLength[s](x+y)
以下是一些可能有所帮助的步骤。下面有两个版本,第二个版本包含函数定义的RHS上的值i
。
n = 2;
For[i = 1, i < n + 1, i++,
f[i][x_, y_] := (x + y)*i]
?f
Global`f
F [1] [X_,Y_]:=(X + Y)1
F [2] [X_,Y_]:=(X + Y )1
Clear[i]
f[2][2, 3]
5 I
Quit[]
n = 2;
For[i = 1, i < n + 1, i++,
With[{j = i},
f[i][x_, y_] := (x + y)*j]]
?f
Global`f
F [1] [X $,Y $]:=(X $ + Y $)1
F [2] [X $,Y $]:=(X $ + Y $)2
Clear[i]
f[2][2, 3]