通过在 Mathematica 中更改变量来重用函数扩展
Reusing a function expansion by changing variable in Mathematica
我正在使用球形汉克尔函数,并制作如下表格:
Table[SHF[n, z ] = FunctionExpand[SphericalHankelH1[n, z]], {n, 1, 5,
1}] // TableForm
现在,我需要使用z
作为不同的变量,保留它作为函数扩展;这意味着我现在需要 SHF[n , k]
。我没有再次计算,而是尝试:
Replace[SHF[1, k], SHF[1, z] :-> z]
或
Replace[SHF[1, z], SHF[1, z] -> SHF[1, k]]
以上都只给我 SHF [1, k]
而不是完全扩展(从 table 扩展后用 k 替换 z)
所以,我试试 :
SHF[1, z] /. z -> k
这给了我这个错误:
Syntax::sntxi: Incomplete expression; more input is needed .
我需要 calculate/expand 多次保持它 k 或其他一些变量,所以我想知道是否有更好的方法来做到这一点。另外,我是新手,所以可能会遗漏一些明显的东西!
我正在使用Wolfram Mathematica 12.2
如果缺少任何必要的细节请问我
显示了各种操作
Clear[SHF]
Table[SHF[n, z] = FunctionExpand[SphericalHankelH1[n, z]], {n, 1, 5, 1}];
DownValues[SHF]
显示向下值
更改定义,将 z
替换为 k
SHF[1, z] = ReplaceAll[SHF[1, z], z :> k]
或等同于
SHF[1, z] = SHF[1, z] /. z :> k
DownValues[SHF]
显示向下值变化
添加新定义并删除旧定义
SHF[1, k] = SHF[1, z]
DownValues[SHF] = DeleteCases[DownValues[SHF, Sort -> False],
HoldPattern[Verbatim[HoldPattern][SHF[1, z]] :> _]]
DownValues[SHF]
显示向下值变化
DownValues 删除感谢 Oleksandr R.。
我正在使用球形汉克尔函数,并制作如下表格:
Table[SHF[n, z ] = FunctionExpand[SphericalHankelH1[n, z]], {n, 1, 5,
1}] // TableForm
现在,我需要使用z
作为不同的变量,保留它作为函数扩展;这意味着我现在需要 SHF[n , k]
。我没有再次计算,而是尝试:
Replace[SHF[1, k], SHF[1, z] :-> z]
或
Replace[SHF[1, z], SHF[1, z] -> SHF[1, k]]
以上都只给我 SHF [1, k]
而不是完全扩展(从 table 扩展后用 k 替换 z)
所以,我试试 :
SHF[1, z] /. z -> k
这给了我这个错误:
Syntax::sntxi: Incomplete expression; more input is needed .
我需要 calculate/expand 多次保持它 k 或其他一些变量,所以我想知道是否有更好的方法来做到这一点。另外,我是新手,所以可能会遗漏一些明显的东西!
我正在使用Wolfram Mathematica 12.2
如果缺少任何必要的细节请问我
显示了各种操作
Clear[SHF]
Table[SHF[n, z] = FunctionExpand[SphericalHankelH1[n, z]], {n, 1, 5, 1}];
DownValues[SHF]
显示向下值
更改定义,将 z
替换为 k
SHF[1, z] = ReplaceAll[SHF[1, z], z :> k]
或等同于
SHF[1, z] = SHF[1, z] /. z :> k
DownValues[SHF]
显示向下值变化
添加新定义并删除旧定义
SHF[1, k] = SHF[1, z]
DownValues[SHF] = DeleteCases[DownValues[SHF, Sort -> False],
HoldPattern[Verbatim[HoldPattern][SHF[1, z]] :> _]]
DownValues[SHF]
显示向下值变化
DownValues 删除感谢 Oleksandr R.。