找回密码
 注册
Simdroid-非首页
查看: 204|回复: 7

[1.符号] 用solve不能求解简单的指数方程?

[复制链接]
发表于 2010-10-15 21:40:47 | 显示全部楼层 |阅读模式 来自 湖南湘潭
本帖最后由 lin2009 于 2010-10-15 21:47 编辑

  1. restart;
  2. alpha := exp((I*(2/3))*Pi);

  3. solve(exp((I*(2/3))*Pi) = alpha^k, k);
复制代码
# 显然 k 的值应该为 1,复杂一点的可以用evalb((exp((I*(2/3))*Pi))^2 = alpha^2)验证。

但是上述方程解,竟然得出下面如此复杂的结果。



solve(exp((I*(2/3))*Pi) = alpha^k, k) assuming k::positive
allvalues(%)
也都不奏效,大家看看什么问题?

  1. solve((exp((I*(2/3))*Pi))^2 = alpha^k, k)    #  -->  k = 2;
复制代码
发表于 2010-12-3 11:01:45 | 显示全部楼层 来自 天津
Simdroid开发平台
"显然 k 的值应该为 1"...
k = 3n+1, n \in Z

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-12-3 11:12:47 | 显示全部楼层 来自 湖南湘潭
2# ithinksoim
是的,那怎么把结果化成这个简单的形式呢?
回复 不支持

使用道具 举报

发表于 2010-12-3 11:44:29 | 显示全部楼层 来自 天津
这个。。。我没装Maple...
用Mathematica是能求出正确结果的
回复 不支持

使用道具 举报

发表于 2010-12-9 16:09:16 | 显示全部楼层 来自 浙江杭州
用fsolve可以给出复数形式的解,虚部很小,结果对。
回复 不支持

使用道具 举报

发表于 2010-12-21 23:44:28 | 显示全部楼层 来自 上海浦东新区
本帖最后由 MMMS 于 2010-12-21 23:46 编辑

restart;

alpha := exp((I*(2/3))*Pi);



soln:=solve(exp((I*(2/3))*Pi) = alpha^k, k);



op(soln);



k=fsolve(op(soln));




结果是 k=1


为什么不用evalf对solve输出的结果求值?

从输出的结果可以找到原因,轻微的虚部值是数值舍入误差引起的,详细的解释以后再发。。。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-12-22 08:49:15 | 显示全部楼层 来自 上海徐汇区
前面帖子里的代码是怎么输入的?谢谢。
回复 不支持

使用道具 举报

发表于 2010-12-23 13:10:31 | 显示全部楼层 来自 黑龙江哈尔滨
点击回复栏上面的<>按钮,在弹出的对话框中输入要插入的代码即可。


前面帖子里的代码是怎么输入的?谢谢。
MMMS 发表于 2010-12-22 08:49
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 04:56 , Processed in 0.050806 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表