声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1846|回复: 7

[编程技巧] simple函数的问题

[复制链接]
发表于 2009-3-15 19:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用simple函数对一个表达式进行化简的时候,里面有很多形式的化简结果,最后给出来的是其中最短的那个,但是我现在希望能返回其中combine的那个表达式,请问应该如何得到。其实本来可以对combine的那个式子直接复制即可,但现在那个combine的式子超长最后都显示Text exceeds maximum line length of 25,000 characters for Command Window display,所以还是无法复制。请高手指点。
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-3-15 21:11 | 显示全部楼层

回复 楼主 cam_1980 的帖子

没人遇到过同样的问题吗?
发表于 2009-3-17 17:29 | 显示全部楼层
没找到好方法,帮你顶一下
combine方式好像没有单独的命令实现它
另外,对于sin(x)^n和cos(x)^n,可以自己根据公式编程实现combine的形式
发表于 2009-3-17 17:53 | 显示全部楼层
查看了simple的源代码,发现combine似乎和maple有关,help一下maple,试了试,居然可以提取combine了,O(∩_∩)O哈哈~。
如:
syms x
v = cos(x)^3;
maple traceoff
r=maple('combine',v);
~~~~~~~~~~~~~~~~~~~~~~~~
>> r

r =

1/4*cos(3*x)+3/4*cos(x)

评分

1

查看全部评分

 楼主| 发表于 2009-3-17 22:05 | 显示全部楼层

回复 地板 friendchj 的帖子

非常感谢,我去试试看。
 楼主| 发表于 2009-3-17 22:22 | 显示全部楼层

回复 地板 friendchj 的帖子

原本以为返回combine形式就可以把一个复杂的三角函数的表达式表示成
yy=a1cos(w)+a2cos(2*w)+a3cos(3*w)+...................
的形式,但是结果却不是这样的,比如如下的表达式:
y=(a1+a2*cos(w)+a3*cos(4*w)+a4*cos(98*w))^7
经过如下变换:
y=maple('combine',y);
返回值不是yy的形式,该怎么办呢?
发表于 2009-3-18 08:55 | 显示全部楼层
对得到的y再用一次y=maple('combine',y);,得到的是类似yy的形式,但不是按照cos(n*x)中n的增加排列的。
 楼主| 发表于 2009-3-18 11:16 | 显示全部楼层

回复 7楼 friendchj 的帖子

好的,多谢friendchj的指点。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 05:33 , Processed in 0.106295 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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