我有此代码:
factor(sqrt((diff(theta, x1))^2+(diff(theta, y1))^2+(diff(theta, z1))^2));
这两个方程是相同的,但是maple没有看到它(差异给了我一个可怕的方程...)。枫树是否有办法分解第一个方程式?
答案 0 :(得分:0)
当您写“两个方程是相同的...”时,您似乎表明您认为它们在数学上是等效的。
那是错误的。
在所有未知数都是真实的假设下,Maple可以将差简化为零。
下面,我给出一个反例,其中两个表达式不相等。
这里的礼节很不好,只能提供代码图像而不是纯文本代码。
DELETE FROM ProjectsConstructorEmployees WHERE PID = (SELECT PID FROM DELETED)
现在,假设所有未知数都是真实的,
restart;
with(VectorCalculus):
r1:=<x1,y1,z1>:
r2:=<x2,y2,z2>:
r3:=<x3,y3,z3>:
A:=r1 &x r2:
B:=r3 &x r2:
theta:=arccos(DotProduct(A,B)/(Norm(A)*Norm(B))):
sintheta1:=Norm(r1 &x r2)/(Norm(r1)*Norm(r2)):
expr1:=factor(sqrt((diff(theta, x1))^2+(diff(theta, y1))^2
+(diff(theta, z1))^2)):
lprint(expr1);
((x2^2+y2^2+z2^2)/(x1^2*y2^2+x1^2*z2^2-2*x1*x2*y1*y2-
2*x1*x2*z1*z2+x2^2*y1^2+x2^2*z1^2+y1^2*z2^2-
2*y1*y2*z1*z2+y2^2*z1^2))^(1/2)
expr2:=1/(Norm(r1)*sintheta1):
lprint(expr2);
(x2^2+y2^2+z2^2)^(1/2)/((y1*z2-y2*z1)^2
+(-x1*z2+x2*z1)^2+(x1*y2-x2*y1)^2)^(1/2)
现在,是一个具有(某些特定)复数值的反例,
combine(expr2-expr1) assuming real;
0