Mathematica或matlab怎麼求解含有復變數的方程?

時間 2021-05-12 09:17:34

1樓:

這題其實有解析解

一般常規的代數方程用一些cas計算器模擬器更方便,比如Ti-nspire cas的模擬器。使用csolve函式即可求解。

其中 特別的,如果

2樓:紐澤西管風琴

Solve[0.1/(2 π) == Im[Sqrt[10.9 + I x]] && x ∈ Reals, x]

(* } *)

將常數改為精確的數就可以得到解析解。

Solve[1/(20 π) == Im[Sqrt[109/10 + I x]] && x ∈ Reals, x]

(* } *)

3樓:cymatics

目前最高得票的解法有誤導性。這個是我的答案:

Solve[, x]

解釋:1)參考文件中Solve的解釋:Solve[expr,vars] 預設假設以代數形式出現在不等式中的量為實數,而其他所有量為複數.

2)數值解請用NSolve, 符號解請用 Solve,用Solve的時候請將浮點數轉化成代數形式,別混雜。

4樓:燕南

如果只是一次性的中間計算步驟,可以直接用 Wolfram|Alpha 偷個懶。

Mathematica 裡自己寫的話,我找到乙個法子:設 z = 10.9 + i*x, 然後解 z:

In[57]:= Solve[, z, Complexes]

During evaluation of In[57]:= Solve::ratnz:

Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result. >>

Out[57]= }

先試了幾種都不好用:

In[58]:= Assuming[Element[x, Reals],

Solve[0.1/(2 \[Pi]) == Im[Sqrt[10.9 + I*x]], x]]

During evaluation of In[58]:= Solve::fulldim:

The solution set contains a full-dimensional component; use Reduce for complete solution information. >>

During evaluation of In[58]:= Solve::ratnz:

Solve was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result. >>

Out[58]= }

In[59]:= Reduce[0.1/(2 \[Pi]) == Im[Sqrt[10.9 + I*x]], x, Reals]

During evaluation of In[59]:= Reduce::nddc:

The system 0.0159155==Im[Sqrt[10.9 +I x]] contains a nonreal constant I.

With the domain Reals specified, all constants should be real. >>

Out[59]= Reduce[0.0159155 == Im[Sqrt[10.9 + I x]], x, Reals]

In[60]:= Reduce[0.1/(2 \[Pi]) == Im[Sqrt[10.9 + I*x]]]

Out[60]= Im[Sqrt[10.9 + I x]] == 0.0159155

可能得分成實部虛部才好做。

補充:

問過高人後得解:

In[67]:= Solve[

TrigToExp@

ComplexExpand[1/10/(2 \[Pi]) == Im[Sqrt[109/10 + I*x]],

TargetFunctions -> ], x]

Out[67]= }

求更好的理解的話,估計得多看看 TrigToExp,

ComplexExpand,TargetFunctions 這幾個函式/符號的文件,並且看看中間結果。

5樓:

對於MATLAB可以用fzero求解:

>>x1=

fzero

(@(x

)0.1/(

2*pi)

-imag

(sqrt

(10.9+1

i*x)),0)

x1=0.105091701225983

syms

xrealeq=

imag

(sqrt

(sym

('109/10')+

x*1i

))==

sym(

'1/(20*pi)');x

=simplify

(solve(eq

,x))x2

=double(x

)x=(

4360

*pi^2+1

)^(1/2

)/(200

*pi^2)x2

=0.105091701225983

Wolfram Language即是Mathematica?若是,專門公布(或叫做介紹)Wolfram Language的目的何在?

便於把語言和軟體分離,允許第三方實現啊 現在的方案就是 language 和 runtime 部分免費用隨便下,你要用 jupyter 和 vscode 那也有官方支援 但是 FrontEnd 和 Cloud 部分收費FrontEnd 的話說的就是 Mathematica 及其套殼方案看這介面就知道...

Mathematica用於統計?

四零七 事實上,Mathematica裡的統計的功能遠比R甚至是Python差的遠,統計裡很多需要的基礎演算法譬如MLE,MCMC,HMC都只能手動實現。有些Package例如MathematicaStan的本質還是R語言。和R與Python比,在統計方面的應用的確還是略顯稚嫩 會呼吸的龍龍 Mat...

Mathematica 和 MATLAB 都有什麼不同?做數學分析哪個比較專業?

HyperGroups 即然是數學分析相關 那肯定就是Mathematica了。因為Mathematica還擅長排版啊,無論是手工代替草稿紙進行 數學分析 還是機器推符號進行 數學分析 還是數形結合進行數學的分析 都很擅長啊 完了還能把文件轉換成Latex進行網上交流知乎上傳MarkDown功能又瞎...