問題タブ [fixed-point-iteration]
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.
r - SQUAREM パッケージの R fpiter 関数: 観測値が多すぎる場合の if (res < tol) のエラー
私は経済プロジェクト n R のシミュレーションを行っており、SQUAREM パッケージの fpiter 関数を使用して固定小数点均衡を決定しています。すべてうまく機能しますが、あまりにも多くの観測を使用すると (カットオフは 12 変数に対して約 22500 行ですが、行数だけが重要です)、次のエラー メッセージが表示されます。
何度か試行錯誤した結果、これは計算の結果として偶然発生したように見えると思います。
一部の人々が fpiter 関数 (またはより一般的には SQUAREM パッケージ) で同じ問題に遭遇したかどうか疑問に思っていました。たぶん、別のパッケージを使用する必要があります。フォーラムやドキュメントを検索しましたが、有用な情報は見つかりませんでした。コードを提供できなくて申し訳ありませんが、非常に長く、役に立たないと思います。
助けてくれてありがとう!
一番、
fortran - 非線形システムの反復式が収束するかどうかを Fortran で検証する方法
非線形システムの反復式が の近くのルートに収束するかどうかを Fortran で検証する方法は(x,y)
?
シンボリック計算をサポートするプログラミング言語にとっては簡単でした。しかし、Fortran でそれを行う方法は? コンポーネント関数の偏導関数を取得するように、それらがルートの近くで制限されているかどうかを確認します。しかし、私はそれをfortranで行うことができなかったか、それを行う方法がわかりませんでした. 次の非線形システムについて、または可能であれば一般的なケースについて誰かが私にアイデアを与えてくれれば、私にとって大きな助けになります。
この場合、固定小数点反復法を使用したい
主なシステム:
反復形式 (与えられた):
定理(私が従う)
問題は、 (x0,y0)=(4.4,1.0) 付近の領域\sqrt(7-Y)
の偏導関数の有界性をチェックする必要があることです。-\sqrt(X-4)
偏微分関数は Fortran で記述できますが、非常に多くの値を評価してチェックする方法は、(4.4,1.0)
.
アップデート
(4.4,1.0)
おそらく正しい解決策の 1 つは、 likeの周りの値の配列を取得(4.4-h,1.0-h)*(4.4+h,1.0+h)
し、定義された偏微分関数を評価して、それらの有界性を概算することです。Fortran でこのような問題に遭遇したことはないので、それに関する提案も大いに役立ちます。
haskell - "case ... of" パターンを Haskell でよりエレガントに表現する
よりエレガントに表現できると思われるパターンに出会いました。
私は2つの関数f1,f2 :: Int -> Int
(それらの実装は関係ありません)と、次のことを行う aprocess :: Int -> Int
を持っています:
- と異なる場合
f1 x
は、プロセスを繰り返しますx1
x
x1
- それ以外の場合、と異なる場合
f2 x
は、プロセスを繰り返しますx2
x
x2
- 最後に、プロセスを停止して戻ります
x
私のcase ... of
実装は次のとおりです。
次の警告が生成されます。
process
どのパターンが重複しているか、よりエレガントに実装する方法について、誰かが光を当てることができますか?
python - Python が For ループ内の n 回目の反復で何かを印刷するようにする方法は?
質問の前に、私は Python を初めて使用し、大学院の特定のクラスで Python を使い始めたばかりだと言いたいと思います。
固定小数点法、二分法、ニュートン ラフソン法などの反復法を使用して関数の根を見つけるスクリプトを作成しました。私のアルゴリズムの python コードは次のとおりです。
固定小数点法:
二等分法:
ニュートン・ラフソン法:
私のスクリプトは、関心のある方程式の根を見つけることができましたが、より単純な問題で立ち往生しています。基本的に、最大の反復後に許容条件が満たされない場合は、「メソッドが失敗しました」と出力するようにプログラムに伝えたいと思います。
ただし、最大反復回数が 100 に設定され、許容範囲が 0.0001 に設定されている場合に対象外の関数を試してみると、私のコードは必要なステートメントを出力しません。
私の構文は、fail print ステートメントに対して正しいですか?
「if i==MAXIT and f(x0) > tol」のような条件は、私が書いた関数のコンテキストで意味がありますか?
Python の改善に懸命に取り組んでいるため、この問題に関するあらゆるアドバイスをいただければ幸いです。
ありがとうございました。