在数学中解决复杂的方程式 我有一个复杂的方程式,我想用Mathematica解决它。但是,由于方程式形式,我找不到分析解决方案。因此,我尝试以数值方式解决它。我尝试一些方法,但可以'...

问题描述 投票:0回答:1

首先,我定义了您的

s
z
wolfram-mathematica
1个回答
0
投票
A

p
q
):
d
通过为几个值绘制此函数
g[s_, z_] := 
 1 + 1/((1 + d)^2 z^2 (-1 + p + q + z)) ((1 + d) p (-1 + p + 
        q) z Hypergeometric2F1[1, 2 + d + A Tanh[s], 
       2 + d, (p Cosh[s])/z] ((1 + d) Cosh[s] + A Sinh[s]) + 
     1/2 q Hypergeometric2F1[1, 2 + d - A Tanh[s], 
       2 + d, (q Cosh[s])/
        z] (p (-1 + p + q - 
           z) (A^2 + (1 + d)^2 + (-A^2 + (1 + d)^2) Cosh[
             2 s]) Hypergeometric2F1[1, 2 + d + A Tanh[s], 
          2 + d, (p Cosh[s])/z] + 
        2 (1 + d) (-1 + p + q) z (Cosh[s] + d Cosh[s] - A Sinh[s])))
我们看到它具有多个零,并且通常是一个虚构的部分(我检查了
s
没有发生零的零件:

):
|z|>5

否,最大的零似乎也具有零假想部分(我们在下面确认)。我们可以寻找幅度的零,但是绝对值的零很难以数字方式找到。

要找到真实部分的零,我定义了
|s|<=2

二次函数只是为了获得近似正确的根找到的初始条件。现在gTable[Plot[{Re[g[s, z]], Im[g[s, z]]}, {z, -5, 5}, PlotLabel -> s], {s, -2, 2}] 给予

我也可以像您在此步骤中一样使用

f[s_] := z /. FindRoot[Re[g[s, z]] == 0, {z, (s + 1/2)^2/2.5 + 1}]

(如果首选)。
然后我仔细检查真实和虚构的零件实际上是零:

Plot[f[s], {s, -2, 2}] f

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.