【问题标题】:How can I solve exponential equation in Maxima CAS如何在 Maxima CAS 中求解指数方程
【发布时间】:2018-05-09 19:14:47
【问题描述】:

我在 Maxima CAS 中有函数:

f(t) := (2*exp(2*%i*%pi*t) - exp(4*%pi*t*%i))/4;

这里:

  • t 是 0 到 1 之间的实数
  • 函数应该在 Mandelbrot 集的主心形线的边界上给出一个点

如何解方程:

eq1:c=f(t);

(其中 c 是复数)

?

解决不了

solve( eq1,t);

结果为空列表

[]

这个方程的结果应该从复点c给出实数t(内角或旋转数)

编辑:谢谢@JosehDoggie 的评论

我可以使用以下方法绘制初始方程:

load(draw)$
f(t):=(2*exp(%i*t) - exp(2*t*%i))/4;
  draw2d(
  key="main cardioid",
  nticks=200,
  parametric( 0.5*cos(t) - 0.25*cos(2*t), 0.5*sin(t) - 0.25*sin(2*t), t,0,2*%pi),
  title="main cardioid of M set "
)$

draw2d(polar(abs(exp(t*%i)/2 -exp(2*t*%i)/4),t,0,2*%pi));

类似的图像(心形)是here

编辑2:

(%i1) eq1:c = exp(%pi*t*%i)/2 -  exp(2*%pi*t*%i)/4;


                               %i %pi t     2 %i %pi t
                             %e           %e
(%o1)                    c = ---------- - ------------
                                 2             4
(%i2) solve(eq1,t);
              %i log(1 - sqrt(1 - 4 c))        %i log(sqrt(1 - 4 c) + 1)
 (%o2) [t = - -------------------------, t = - -------------------------]
                     %pi                              %pi

所以:

f1(c):=float(cabs( -  %i* log(1 - sqrt(1 - 4* c))/%pi));
f2(c):=float(cabs( -  %i* log(1 + sqrt(1 - 4* c))/%pi));

但结果并不好。

编辑 3:

也许我应该从它开始。 我有:

  • 复数 c(= 心形的边界)
  • 实数 t(从 0 到 1 或有时从 0 到 2*pi)
  • 从 t 计算 c 的函数 f:c= f(t)

我想找到从 c 计算 t 的函数:t = g(c)

测试值:

  • t = 0 , c= 1/4
  • t = 1/2 , c= -3/4
  • t = 1/3 , c = c = -0.125 +0.649519052838329*%i
  • t = 2/5 , c = -0.481762745781211 +0.531656755220025*%i
  • t = 0.118033988749895 c = 0.346828007859920 +0.088702386914555*%i
  • t = 0.618033988749895 , c = -0.390540870218399 -0.586787907346969*%i
  • t = 0.718033988749895 c = 0.130349371041523 -0.587693986342220*%i

【问题讨论】:

  • 首先,尝试绘制这个方程。我不知道,但它可能没有任何解决方案。注意:我对 Maxima CAS 一无所知,只是一般的数学编程。
  • 你提到“结果不好”——你能解释一下吗?

标签: complex-numbers exponential maxima equation-solving mandelbrot


【解决方案1】:
load("to_poly_solve") $

e: (2*exp(2*%i*%pi*t) - exp(4*%pi*t*%i))/4 - c $
s: to_poly_solve(e, t)                         $
s: maplist(lambda([e], rhs(first(e))), s)      $ /* unpack arguments of %union */
ratexpand(s);

输出

             %i log(1 - sqrt(1 - 4 c))        %i log(sqrt(1 - 4 c) + 1)
(%o6) [%z7 - -------------------------, %z9 - -------------------------]
                       2 %pi                            2 %pi

【讨论】:

  • 符号 %z7 和 %z9 代表任意整数值。
  • g(c):=float(cabs( - %i* log(1 - sqrt(1 - 4* c))/(2*%pi)));似乎适用于 t
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多