将Mathematica转换为Python arccos和sq

2024-09-30 14:20:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将下面的Mathematica表达式转换成Python。不知何故,Mathematica可以很容易地处理平方根中的负数,以及arcesc在域外的论点。在

有人能帮我做一个Python表达式吗?或者至少告诉我Mathematica(我不太熟悉)是如何处理这些问题的?在

1到100的数学表达式

LogLogPlot[(p0 rs^2 (Sqrt[(R - rs) (R + rs)] (-2 R rs + \[Pi] (R - rs) (R + rs))
- 2 (R^3 - 2 R rs^2) ArcSec[R/rs]))/(R ((R - rs) (R + rs))^(3/2)) /. {rs -> 1, p0 -> 10},
{R, 0.1, 100}]

Python表达式

^{pr2}$

当R<;rs(当然是我感兴趣的区域)时,我得到了arccos的未定义值和平方根的无意义值。在

任何和所有的提示将是有用的!在


Tags: lt表达式pi数学sqrt感兴趣rsmathematica
1条回答
网友
1楼 · 发布于 2024-09-30 14:20:22

这是一个不使用复数的数学公式。在

f[R_, rs_, p0_] := 
   Which[R >= rs,
           (p0 rs^2 (Sqrt[(R - rs) (R +rs)]
           (-2 R rs + Pi (R - rs) (R + rs)) - 
           2 (R^3 - 2 R rs^2) ArcSec[R/rs]))/
           R ((R - rs) (R + rs))^(3/2)),
         R < rs,
           (p0 rs^2 ( Sqrt[(rs - R ) (R + rs)]
           (-2 R rs + Pi (R - rs) (R + rs)) - 
           2 (R^3 - 2 R rs^2) Log[rs/R + Sqrt[(rs/R)^2 - 1]]))/
           (-R ((rs - R) (R + rs))^(3/2) )]

  LogLogPlot[f[R, 1, 10], {R, 0.1, 100}]

enter image description here

除此之外,这两个表达式对于R==rs都会爆炸,但是存在限制:

^{pr2}$

p0 (-8 + 3 Pi) rs /3

%/. {rs->1,p0->10}

4.74926

如果需要,可以将该大小写添加到条件中。在

相关问题 更多 >