Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X
The calculation result obtained in the following program is defined in one variable.
↑Program
↑New definition
This calculation takes a long time, is there a way to speed it up?
----------------------------------------------------------------------
Translated the topic from Japanese to English using google translate
Subject - 計算を早くする方法を探しています
Body - 以下のプログラムで得た計算結果を一つの変数で定義しています。
↑プログラム
↑新しく定義する
この計算にとても時間がかかるのですが、計算時間を短縮する方法はありますか?
- By Community Moderation Team
----------------------------------------------------------------------
手伝いたい人が入力する手間が省けるようにシートをアップロードしてください
復路のSPM後の分散補償あり(20231217上島)
SPM後の分散補償なしバージョン
(* 1218 稲葉改良ver)
There are three versions of this function with the same name and parameters. Prime will be confused which one to use. Which one do we use?
この関数には、同じ名前とパラメータを持つ 3 つのバージョンがあります。Prime はどれを使用するか混乱します。どれを使用すればよいでしょうか?
背景が緑色のプログラムは主に使用します。
可能でしたらまず分散補償なしバージョンをお願いします
OK
計算を高速化する方法の 1 つがあります。
ymax=0
RT = 5000
1 回実行される y=0..ymax という 2 つのネストされたループがあります
内側のループは x=0..RT-1 で、5000 回実行されます。
この内側のループの最後の実行では、x = RT-1 の場合、追加のステートメントが「IF」ステートメントによって実行されます
つまり、最初の 4999 回は「if」ステートメントをテストする必要があり、時間がかかります。
したがって、「if」ステートメントのないループ x=0..RT-2 を使用するのが最善です
次に、x = RT-1 に設定し、「if」ステートメントのないステートメントをさらに含めます。
記述されたプログラムは長くなりますが、「if」ステートメントがなくなったため、実行速度が速くなります。
朝までにこれを実行します。
乾杯
Terry
ワークシートに変更を加える前に、「if」ステートメントを削除しても機能するかどうかをテストしました。
速度はわずか 0.002 秒しか上がりません。
そのため、速度を上げる他の方法を探しています。
新しい dft/idft 関数は、廃止された cfft/icfft および CFFT/ICFFT 関数の機能を置き換え、特に大規模なデータ セットやサイズが 2 の累乗ではない場合に大幅なパフォーマンスの向上をもたらします