问题描述
我正在使用球面汉克尔函数,并制作如下表格:
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],z] -> SHF[1,k]]
以上都只是给了我 SHF [1,k]
而不是完全扩展(在从 table 扩展后用 k 替换 z)
所以,我尝试:
SHF[1,z] /. z -> k
这给了我这个错误:
Syntax::sntxi: Incomplete expression; more input is needed .
我需要多次计算/扩展它以保持 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]
显示向下值的变化
由于 Oleksandr R. 删除了 DownValues。