以下のような、複雑な複素数式を「実数+複素数」という形に計算した形にしたいです。
どのように行えば良いでしょうか。ご教示いただけましたら幸いです。
よろしくお願い致します。
python
1#a0~a6は800行1列の2次元ndarrayです。要素の中には複数数値をとるものもあります。refが最終結果です。 2fai=(a0+1j*a1)*2*sp.pi/a0*d*np.cos(a3+1j*a4) 3ref=(a5+a6*sp.exp(2j*fai))/(1+a5*a6*sp.exp(2j*fai)) 4 5#1行分のa0~a6の例、上から順にa0,a1,,,,a6と示しております。 6#[ 7.00000000e-07+0.00000000e+00j 1.01015674e+00+0.00000000e+00j 7# 1.24434645e-05+0.00000000e+00j 1.57077824e+00+0.00000000e+00j 8# -8.31325978e-01+0.00000000e+00j 9.99997866e-01+0.00000000e+00j 9# -1.00000000e+00+8.27180613e-25j]
###行ったこと
-
既にsympy.powsimpやsympy.radsimp、sympy.simplifyは試しています。しかし、望んだようにはうまくいきません。
-
.realや.imagを使って実数部、虚数部を抜き出す方法
一つの要素の結果ですが、以下のようになってしまい、望んだ結果になりませんでした。他の要素も同様複雑な結果となりました。
python
1# print(ref.real)の抜粋 2[(0.999999367376849 + (-1.0 + 2.06795153138257e-25*I)*exp(0.002002002002002*I*pi*(1.998e-6 + 2.01329802790684*I)*(7.43928380851181e-6 + 0.937418356333597*I)))/(1 + (-0.999999367376849 + 2.06795022314856e-25*I)*exp(0.002002002002002*I*pi*(1.998e-6 + 2.01329802790684*I)*(7.43928380851181e-6 + 0.937418356333597*I)))]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/21 08:51 編集
2020/07/21 08:59 編集
2020/07/21 09:14 編集
2020/07/21 09:23 編集
2020/07/21 09:37