我在试着解“u”的方程"eq“。我如何告诉maxima我只想要积极的结果,这是最好的方法var : abs(mu), res;吗?但是,我的主要问题是,结果包含%i,这是从哪里来的?难道不应该像我在“手工”-calculation中演示的那样,在R中解决这个问题,而不需要复杂的数字吗?
算术解决方案:
(%i16) eq: RN^2 = R^2+N^2;
(eq) (121*G^2*h2^2*t1^2)/(100*h1^2*t2^2)=(G^2*v^2)/(4*mu^2)+G^2/4
(%i20) res: solve(eq,mu); var : abs(mu), res; expand(var); res, numer;
(res) [mu=-(5*%i*h1*t2*v)/sqrt(25*h1^2*t2^2-121*h2^2*t1^2),mu=(5*%i*h1*t2*v)/sqrt(25*h1^2*t2^2-121*h2^2*t1^2)]
(var) 5*abs(h1)*abs(t2)*abs(1/sqrt(25*h1^2*t2^2-121*h2^2*t1^2))*abs(v)
(%o19) 5*abs(h1)*abs(t2)*abs(1/sqrt(25*h1^2*t2^2-121*h2^2*t1^2))*abs(v)
(%o20) [mu=-(5*%i*h1*t2*v)/(25*h1^2*t2^2-121*h2^2*t1^2)^0.5,mu=(5*%i*h1*t2*v)/(25*h1^2*t2^2-121*h2^2*t1^2)^0.5]数值解决方案:
(%i26) t1: 64`mm;
t2: 33`mm;
h1: 47`mm;
h2: 28`mm;
v: 2;
(t1) 64 ` mm
(t2) 33 ` mm
(h1) 47 ` mm
(h2) 28 ` mm
(v) 2
(%i42) res: solve(eq,mu); var : abs(mu), res; var, numer; res, numer;
(res) [mu=-(5*%i*h1*t2*v)/sqrt(25*h1^2*t2^2-121*h2^2*t1^2),mu=(5*%i*h1*t2*v)/sqrt(25*h1^2*t2^2-121*h2^2*t1^2)]
(var) 1410/sqrt(2714239)
(%o41) 0.8558449047226222
(%o42) [mu=-(0.8558449047226222*%i)/(-1)^0.5,mu=(0.8558449047226222*%i)/(-1)^0.5]手工解算(省略否定结果):https://www.bilder-upload.eu/bild-07c372-1620053087.png.html
发布于 2021-05-04 06:13:25
如果我没记错的话,只有当121*h2^2*t1^2 > 25*h1^2*t2^2时,结果才是真实的。
所以:
eq: (121*G^2*h2^2*t1^2)/(100*h1^2*t2^2)=(G^2*v^2)/(4*mu^2)+G^2/4;
assume ( 121*h2^2*t1^2 > 25*h1^2*t2^2 );
solve( eq, mu);
=> [mu = -(5*h1*t2*v)/sqrt(121*h2^2*t1^2-25*h1^2*t2^2),
mu = (5*h1*t2*v)/sqrt(121*h2^2*t1^2-25*h1^2*t2^2) ]你是如何找到这个神奇的不等式的呢?好的,你不带它运行solve,注意有一个平方根,它可能有一个负参数……
发布于 2021-05-05 04:18:38
至少部分原因是Maxima将sqrt(-b^2/(c - a))简化为%i*abs(b)/sqrt(c - a)而不是abs(b)/sqrt(a - c)。另一方面,sqrt(b^2/(a - c))简化为abs(b)/sqrt(a - c)。
我在想,也许获得免费%i结果的一种方法是将sqrt(-b^2/(c - a))重新排列为sqrt(b^2/(a - c)),然后让内置的简化程序在上面工作。(tellsimp实现了这一点--在内置简化程序之前应用tellsimp规则,而在之后应用tellsimpafter规则。)
我尝试过定义一个合适的tellsimp规则,但我无法找到适用于所给示例的规则。如果有兴趣,我可以发布我的尝试。
https://stackoverflow.com/questions/67371201
复制相似问题