問題タブ [complex-numbers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 複素数はどのようにレンダリングする必要がありますか?
数学の素朴な質問:
14+1i を表す「標準的な」方法は何ですか?
また
同様に、「現実の世界」では、科学表記法が複素数パーサーを驚かせるために複素数に忍び寄る可能性はありますか? 例えば、
編集:ついに、それですか
また
つまり、1 つのゼロ ファイルを虚数の 3 桁にしますか?
math - プログラマーとして、虚数をどのように説明しますか?
プログラマーとして、数学が得意であることは私の仕事だと思っていますが、虚数を理解するのに苦労しています。私はグーグルとウィキペディアを試してみましたが運が悪かったので、プログラマーが私に説明してくれることを願っています.
c++ - 2つのベクトル(実数と画像)から複素数のベクトルを取得する方法
浮動小数点数のベクトルが2つあり、それらを複素数の1つのベクトルにします。私は立ち往生しています。イテレータを使用してもかまいませんが、知らされていないホイールを再発見することになると確信しています。私のコードは私を正しい方向に導いていますか?
上記のコードはコンパイラを正しく通過していますが、イテレータを使用してmyComplexVectorから単一の数値を取得したい場合、エラー「Undefined symbol'const_iterator'」(Borland C ++)が発生します。
math - 離散フーリエ変換について
離散フーリエ変換に関するちょっとした質問があります。私の理解が正しければ、多項式をそのポイント値表現に変換します。多項式の n ポイントは n-1 乗になります。しかし、なぜそれを 1 の n 乗根で評価しなければならないのでしょうか? この多項式を一意に識別し、はるかに単純な他の n 個のポイントはありませんか?
c - Visual Studio による C99 複雑なサポート
C99 で定義されている複素数を使用したいのですが、それをサポートしていないコンパイラをサポートする必要があります (MS コンパイラが思い浮かびます)。
多くの関数は必要ありません。必要な関数をサポートなしでコンパイラに実装することはそれほど難しくありません。しかし、「型」自体を実装するのに苦労しています。理想的には、次のようなことをしたいと思います:
しかし、コンパイラが「float complex」を認識できない場合、これを行う方法がわかりません。実際には不可能だと思いますが、Dinkumwareの C ライブラリは別の方法を示しているようです。解決策は何ですか?型の操作に関数/マクロを使用してもかまいませんが、複素数に値を代入し、C99 と互換性のある方法で実数/虚数部分を取得する方法が必要です。
解決
私は最終的に次のようなことをしました:
型定義については、次のように複雑な関数のセットを定義します。
これは少し複雑ですが、これにより、利用可能な場合は C lib 関数を簡単に再利用でき、コード ジェネレーターを使用して部分的に自動化できます。
math - Haskell と二次方程式
二次方程式を解いて複素数の結果を返すプログラムを作成する必要があります。
これまでのところ、複素数を定義し、それを num の一部であると宣言しているため、+、-、および * - ing を実行できます。
二次方程式のデータ型も定義しましたが、今は二次方程式の実際の解法に固執しています。私の数学はかなり貧弱なので、どんな助けでも大歓迎です...
編集:私は、独自の複素数データ型を使用することの全体的なポイントを見逃しているようです。それは、カスタム データ型について学ぶことです。私はcomplex.dataを使用できることをよく知っています。これまでのところ、私のソリューションを使用して提供できるヘルプは大歓迎です.\
編集 2:私の最初の質問は恐ろしく表現されたようです。二次式が両方 (または 1 つだけ) の根を返すことは承知しています。私が問題を抱えているのは、これらのルートを上記のコードで (複雑で複雑な) タプルとして返すことです。
以下に示すように、組み込みの二次関数を使用できることはよく知っていますが、これは演習ではありません。演習の背後にある考え方、および独自の複素数データ型を作成することは、カスタム データ型について学習することです。
c++ - C++ での演算子のオーバーロード
最後に編集を参照してください
C++ で + 演算子をオーバーロードして、2 つの複素数を加算できるようにしようとしています。(実数を足して虚数を足す)。
ここに私のオーバーロードされた関数があります:
私の複素数コンストラクターは 2 つの int を取り、1 つ目を int real に、2 つ目を int imag に割り当てます。
それらを追加しようとすると:
結果として 0 を取得します。結果は 3 になるはずです (num1 と num2 の実部を加算)
編集:何が間違っているのか分かりました。double を返す .getReal() と .getImage() がありました。
math - haskellでの複雑な反復
TI Basicで作成したこの複雑な反復プログラムを使用して、複素数に対して基本的な反復を実行し、結果の大きさを示します。
私がやりたいのは、これのHaskellバージョンを作成して、課題で先生を驚かせることです。私はまだ学んでいて、ここまで進んでいます:
方法がわからないのは、反復n
回数だけにする方法なので、カウントアップしてa
から比較して、n
終了したかどうかを確認したいと思いました。
どうすればいいですか?