您现在的位置是:主页 > news > 重庆网站建设吧/bt磁力猫

重庆网站建设吧/bt磁力猫

admin2025/5/2 12:42:45news

简介重庆网站建设吧,bt磁力猫,营销型网站建设实战感想,wordpress网站后台要怎么登陆1 国内的教程的现状初学一门软件或者语言,大多需要借助教程,教程有一个好处是较为系统. 在新世纪之初尤其是02-03年国内翻译或者著作了非常多的Maple教程,可是几乎步调一致地停止在06年。比如下面科学出版社的Maple教程写的相当不错&#xff…

重庆网站建设吧,bt磁力猫,营销型网站建设实战感想,wordpress网站后台要怎么登陆1 国内的教程的现状初学一门软件或者语言,大多需要借助教程,教程有一个好处是较为系统. 在新世纪之初尤其是02-03年国内翻译或者著作了非常多的Maple教程,可是几乎步调一致地停止在06年。比如下面科学出版社的Maple教程写的相当不错&#xff…

1 国内的教程的现状

初学一门软件或者语言,大多需要借助教程,教程有一个好处是较为系统. 在新世纪之初尤其是02-03年国内翻译或者著作了非常多的Maple教程,可是几乎步调一致地停止在06年。

比如下面科学出版社的Maple教程写的相当不错,作者是计算机代数出身的,出版年份是2006年。时隔了14年,一些原理还是适用,但是随着Maple版本的更新书上很多命令已经过于老旧而不能使用,还有当时的一些缺陷也有所改进。作者估计也没有时间和精力去出新版。国内继续介绍并且维护的Maple交流平台也微乎其微,这些事情应该交给年轻一代人去做。Maple中国官方说实在的努力程度相当不够!

本专栏到现在为止已经写了不少高质量的文章,其中解梦亦解忧关于符号推导的介绍淋漓尽致地展示了Maple符号计算方面的优越性。星萤火分享了自己学习时有效的命令,其中冷冻一个表达式的操作非常棒,我在之前也介绍了一些诸如常规编程入门,玩转矩阵,Maple积分的是是非非等等方面。这些大家的关注度还是挺不错的。 后面我把重心进行了转移,更多关注Maple常用命令如何用好用活, 解决实际问题。我将猎物锁定为上面的这本书,我将按照个人的兴趣做新的非官方的解释。其中会补充说明更多现在版本的命令用法。这当然没有经过两位作者的同意,这令人忐忑不安。今天主要讲书中第5章的解方程的内容。额外说明: 我本人目前对Maple靠近底层的符号计算更加感兴趣。如果你也对这方面感兴趣,或者你本身就是这方面的专家,也非常欢迎投稿,相互学习。我们不是营利性组织,而更多地是高校里松散的爱好者,目前我们的目标是改善国内Maple的使用环境和提高使用水平。这将会耗费我们不少空闲乃至学习的时间,但这一切都是值得的.

2.1 解方程

2.1.1 符号解

1 解的结果不输出怎么回事?

求方程的解基本格式:solve(equations, variables)方程右端为0可以省去不写.

solve({x^2-1},{x})

或者

solve(x^2-1,x);

下面说一个经常碰到的问题,运行下面代码:

solve({x + y = -1, 2*x + 2*y = 4}, {x, y})

你会发现屏幕毫无反应,所以有的群友会问,solve怎么这么不稳定好多这样的例子不运行!其实仔细观察这个方程就会发现这两个方程是矛盾方程,压根没有解,或者说它的解集是空集。我们用s储存它

s:=solve({x + y = -1, 2*x + 2*y = 4}, {x, y})

或者

{solve({x + y = -1, 2*x + 2*y = 4}, {x, y})}

就明白了。

2 看不清解的结构?-公共的子表达式替换实现问题

书本说的 MapleV的解中有复杂表达式时候,将会用缩写形式代表公共的子表达式。Maple6之后不再这样处理了,而是直接甩出结果。我们试着在Maple2020运行看看:

eqn:=x^3-5*a*x^2+x=1;

s:={solve(eqn,x)}:

第一个解:

第二个解:

第三个解:

我们只需做一个替代即可处理如下:

Repexpr:=-108*a+108 + 1000*a^3 + 12*sqrt(1500*a^3 - 75*a^2 - 270*a + 93)=b

applyrule~(Repexpr,s):

其中

3 对于5次及其上方程的根

依据伽罗华理论,对于5次及其上方程,通常不能够求出其符号解。Maple采用RootOf方式,这一点要格外注意。这样的做法有时候反而更能看清楚根的性质。有的同学一遇到这个就非要处理成代数表达式,此时需要注意有两种情况,第一种它的确可以.比如:

M:=b^4+12*b^2+22*b^2-20*b+1

s:=solve(M,{b}):

s1:=allvalues(s[1])#第一个解展开看看

或者

e2 := RootOf(_Z^3 - 1);

allvalues(e2)

第二种数学上就无法求得符号解的形式!用allvalues也无效!

s:=solve(x^5+2*x+4=0,x);

2.1.2 解的检验

书本91页-93页主要讲如何进行检验解的正确性。检验是非常重要的,这是无容置疑的。作者在92页提到方程

通过检验出Maple的解并不正确。那么Maple2020还会出同样的问题吗?

expr:=(x-1)^2/(x^2-1):

soln:=solve(expr,x);

虽然这个个案依已经不存在这个问题了,但是检验还是需要的。毕竟Maple基于某种计算机代数方法,不可避免出现一些bug. 即使是人也免不了要出错,何况目前还需完善的计算机代数系统。

2.1.2 部分三角方程的通解

大多数情况处理超越方程不是一些容易的事情,Maple能够解部分特殊的超越方程。

解三角方程往往只求一个特解,如果想求通解,一般有两种办法,第一种还是用书上的_EnvAllSolutions:=true:第二种在solve命令里面加allsolutions.

solve(sin(x)=cos(x),x,allsolutions);

书本上解释了通常情况的参数代表的含义,比如上面的

代表整数。93页论述部分有失偏颇。

这里的可能病态我读的时候很困惑,不知道具体含义是什么。先说说现在Maple2020对于书本说的

假设已经做了完善,至于哪个版本改善的我已经无从查考,即使查考意义也不大。遗憾是simplify还是没有得到想要的1/2.

s:=solve(sin(x^2)=1/2,allsolutions);

about(_Z1); #Originally _Z1, renamed _Z1~: is assumed to be: integer

about(_B1); #Originally _B1, renamed _B1~: is assumed to be: OrProp(0,1)

test:=simplify(subs(x=s[1],sin(x^2)))

当然我们可以采用有限的选取符合要求的

进行验证

restart;

s:=solve(sin(x^2)=1/2,allsolutions);

# Convert the above solutions to applicable

# functions

#

tf:=unapply~(sin~(simplify~([s]^~2)), _B1,_Z1);

#

# Evaluate both of these functions for _B1 in {0,1}

# and _Z1 any value from -10..10

#

seq

( seq

( tf(i,j)[],

i=0..1

),

j=-10..10

);

但是这样做还不能说是完整!我们用expand 命令起到了神奇的效果!说明这样的解并不是作者所说的病态,只不过是简化命令simplify还不够智能。

seq(expand(eval(test,_B1=v)), v=0..1);

今天就到这,未完待续!