Python 在mathematica中将Sinc函数改为正则sin
我有一个mathematica函数,它的输出是Sinc函数的和。我需要将上述输出发送给使用Pyomo进行优化的同事。我们发现,即使普通Python理解Sinc,上述优化软件也不理解Sinc。我需要知道是否有一种方法可以改变输出,从而代替使用Sinc返回Sin(x)/x 我在Mathworks中寻找了一个解决方案,但函数似乎非常有限。我还检查了像or这样的问题 然而,我还没有找到解决这个问题的方法 我试图手动将sinc定义为六(x)/x,但由于0的不确定性,这不起作用 这就是我对sinc的定义:Python 在mathematica中将Sinc函数改为正则sin,python,output,wolfram-mathematica,trigonometry,pyomo,Python,Output,Wolfram Mathematica,Trigonometry,Pyomo,我有一个mathematica函数,它的输出是Sinc函数的和。我需要将上述输出发送给使用Pyomo进行优化的同事。我们发现,即使普通Python理解Sinc,上述优化软件也不理解Sinc。我需要知道是否有一种方法可以改变输出,从而代替使用Sinc返回Sin(x)/x 我在Mathworks中寻找了一个解决方案,但函数似乎非常有限。我还检查了像or这样的问题 然而,我还没有找到解决这个问题的方法 我试图手动将sinc定义为六(x)/x,但由于0的不确定性,这不起作用 这就是我对sinc的定义:
sinc = Sinc[Pi #] & ;
sincB = (Sin[Pi #]/(Pi #)) & ;
这就是我使用数据构造分析表达式的地方。上一个是我过去用过的,下一个是我现在建造的
shannonIP[v_, w_] =
Total[#3* sinc[(v - #1)/dDelta]*sinc[(w - #2)/dDelta] & @@@
interpolatedData]
shannonIPB[v_, w_] =
Total[#3* sincB[(v - #1)/dDelta]*sincB[(w - #2)/dDelta] & @@@
interpolatedData]
上层代码的结果表达式返回sinc之和,下层代码的结果表达式返回sin(x)/x之和,但如果在某些点进行计算,我将以1/0的误差运行
有没有办法“修复”较低代码的输出,或者将较高代码的输出转换为Pyomo可读的表达式
此图是使用Sinc构造的函数
这个数字是使用Sin[x]/(x+0.00000000000001)构造的函数对于接近零的参数,你应该将sinc(x)计算为1-(x^2)/6+(x^4)/120我最终将它构造为sincC=分段[{(Sin[Pi*#]/(Pi*(#)),#>=0.00000000000000000000000000000001},{1-(#2)/6+(#4)/120-(356)/5040, # < 0.00000000000000000000000001}}] & ; 然而,结果并不好。该函数看起来像是问题的最后一个函数