Wolfram mathematica 用Mathematica中的实正参数求解
我想在Mathematica中求解eta 解算[-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]-(1-eta)ng+(1-eta)ns p==0,eta] 所有参数均为实和正,eta为实和正Wolfram mathematica 用Mathematica中的实正参数求解,wolfram-mathematica,solver,Wolfram Mathematica,Solver,我想在Mathematica中求解eta 解算[-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]-(1-eta)ng+(1-eta)ns p==0,eta] 所有参数均为实和正,eta为实和正 如何包含这些假设 有时,通常对于较简单的问题,您可以输入以下内容 Reduce[-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]-(1-eta)n g+(1-eta)ns P==0 && a>0 && b>0
如何包含这些假设 有时,通常对于较简单的问题,您可以输入以下内容
Reduce[-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]-(1-eta)n g+(1-eta)ns P==0 &&
a>0 && b>0 && c>0 && n>0 && g>0 && ns>0 && P>0 && eta>0, eta]
等待并希望它结束。这并没有在我愿意等待的时间内结束,因此我采用了不同的方法
注意:我特意在这里留下了一些In[]和Out[],以便您可以确切地看到我使用Mathematica执行步骤的位置。所有其他我手动操作的行
对于任何问题,在Mathematica中至少有十几种不同的解决方法。我这样做是为了在你可能会等上几分钟或几个小时,却永远看不到结果会自动计算出来的时候,迅速给你一个答案
-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]-(1-eta)n g+(1-eta)ns P==0
-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)]==(1-eta)n g-(1-eta)ns P
In[1]:=Expand[(-Sqrt[1-(a eta b)]+Sqrt[1-(a eta c)])^2]==((1-eta)n g-(1-eta)ns P)^2
Out[1]=2-a b eta-a c eta-2 Sqrt[1-a b eta]Sqrt[1-a c eta]==((1-eta)g n-(1-eta)ns P)^2
-2 Sqrt[1-a b eta]Sqrt[1-a c eta]==((1-eta)g n-(1-eta)ns P)^2-(2-a b eta-a c eta)
(-2 Sqrt[1-a b eta]Sqrt[1-a c eta])^2==(((1-eta)g n-(1-eta)ns P)^2-(2-a b eta-a c eta))^2
4(1-a b eta)(1-a c eta)==(((1-eta)g n-(1-eta)ns P)^2-(2-a b eta-a c eta))^2
In[2]:= Simplify[Reduce[4(1-a b eta)(1-a c eta)==(((1-eta)g n-(1-eta)ns P)^2-
(2-a b eta-a c eta))^2,eta],a>0 && b>0 && c>0 && n>0 && g>0 && ns>0 && P>0 && eta>0]
Out[2]= (b==c || g n!=ns P) && (
eta == Root[-4 g^2 n^2+g^4 n^4+8 g n ns P-4 g^3 n^3 ns P-4 ns^2 P^2+
6 g^2 n^2 ns^2 P^2-4 g n ns^3 P^3+ns^4 P^4+(8 g^2 n^2+2 a b g^2 n^2+
2 a c g^2 n^2-4 g^4 n^4-16 g n ns P-4 a b g n ns P-4 a c g n ns P+
16 g^3 n^3 ns P+8 ns^2 P^2+2 a b ns^2 P^2+2 a c ns^2 P^2-
24 g^2 n^2 ns^2 P^2+16 g n ns^3 P^3-4 ns^4 P^4) #1+(a^2 b^2-2 a^2 b c+
a^2 c^2-4 g^2 n^2-4 a b g^2 n^2-4 a c g^2 n^2+6 g^4 n^4+8 g n ns P+
8 a b g n ns P+8 a c g n ns P-24 g^3 n^3 ns P-4 ns^2 P^2-4 a b ns^2 P^2-
4 a c ns^2 P^2+36 g^2 n^2 ns^2 P^2-24 g n ns^3 P^3+6 ns^4 P^4) #1^2+
(2 a b g^2 n^2+2 a c g^2 n^2-4 g^4 n^4-4 a b g n ns P-4 a c g n ns P+
16 g^3 n^3 ns P+2 a b ns^2 P^2+2 a c ns^2 P^2-24 g^2 n^2 ns^2 P^2+
16 g n ns^3 P^3-4 ns^4 P^4) #1^3+(g^4 n^4-4 g^3 n^3 ns P+
6 g^2 n^2 ns^2 P^2-4 g n ns^3 P^3+ns^4 P^4) #1^4 &,1] ||
eta == Root[...more...&,2] ||
eta == Root[...more...&,3] ||
eta == Root[...more...&,4] ||
g n == ns P)
In[3]:= ToRadicals[eta == Root[...same...&,1]]
Out[3]= eta==...aTrulyHugeResultForTheFirstOfFourRoots...
仔细检查所有这些,了解它是如何完成的因为你只有两个平方根,其他的都是正数,你可以将除平方根以外的所有东西都推到RHS,两边都是正数,将除Sqrt[]Sqrt[]以外的所有东西推到右手边,两边都是正数,扩展,收集eta,减少eta,使用假设a>0&&b>0&&c>0&&n>0&&g>0&&ns>0&&P>0&&eta>0进行简化,最终得到eta中四次方程的四个根[]。如果你真的想要它,你可以使用ToRadicals,并为eta获得一个惊人的大解决方案。谢谢。我对mathematica很陌生,我的问题更多的是如何写,在哪里写。