問題タブ [numerical-analysis]
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.
c - C でのネビルのアルゴリズム
ネビルのアルゴリズムを実装しようとしています。
sin(x) 関数を表す 32 個のポイントがあります。
多項式を評価するための入力ベクトルがあります。
これは私のネビルのブロックです:
問題はs[ii]
、このカウントが正しいかどうかわからないことです。
math - 数式に対するコンピューター プログラムの利点
これがこの質問をするのに適切な場所かどうかはわかりません。そうでない場合は削除しますが、私の質問は数学のテクニックをプログラムに移すことに関連しています。私の質問は:
次を使用して二次方程式を解くプログラムを使用する場合ax^2+bx+c=0
:
一般的な公式よりもコンピュータを使用する利点は何ですか? 関連するエラーを減らすことはわかっていますが、それ以外は.
matlab - DE のシステムに Runge-Kutta を実装する
MATLABで DE のシステムにルンゲ クッタ法を実装しようとしています。正しい答えが得られません。コードまたは実行に使用するコマンドに問題があるかどうかわかりません。
これが私のコードです:
私はこの問題でそれをテストしようとしています。ここに私のコマンドと出力があります:
>> U1 = @(t, u) 3*u(1) + 2*u(2) - (2*t^2 + 1)*exp(2*t);
>> U2 = @(t, u) 4*u(1) + u(2) + (t^2 + 2*t - 4)*exp(2*t);
>> a = 0; b = 1; アルファ = [1 1]; m = 2; h = 0.2; N = (b - a)/h;
>> RKSystems(a, b, m, N, alpha, {U1 U2});
t = 0.00; w(1) = 1.0000000000; w(2) = 1.0000000000;
t = 0.20; w(1) = 2.2930309680; w(2) = 1.6186020410;
t = 0.40; w(1) = 5.0379629523; w(2) = 3.7300162165;
t = 0.60; w(1) = 11.4076339762; w(2) = 9.7009491301;
t = 0.80; w(1) = 27.0898576892; w(2) = 25.6603894354;
t = 1.00; w(1) = 67.1832886708; w(2) = 67.6103125539;
c++ - 構造体のメモリ割り当て (低パフォーマンス)
複数の構造体にメモリを割り当てる際のパフォーマンスの低下に関連する質問があります。次のような構造体があります。以下を参照してください
私のコードの最初に、次を使用してそれらの多く (100.000 – 1.000.000 ) を作成する必要があります。
その後の要素を開始します。残念ながら、これはかなり遅いので、パフォーマンスを改善するアイデアを持っている人はいますか?
r - 減少する指数関数の再帰関係は値が増加します
線形再帰方程式を解くことに慣れていなくても、まったく問題ありません。とにかく、上記の漸化式を解くことで F[n]=3^(1-n) の結果を得ることができます。つまり、F[n]=(10/3)F[n-1]-F[n-2 ]、f1=1、f2=1/3。
このため、
指数関数として知られる「3^(1-n)」のグラフが期待できます。
ただし、出力は予想とは異なります。による出力と比較して、
ご存じのとおり、3^(1-x) は単調減少関数です。予想に反して、後半の計算で増加しているグラフしか得られません。
どうしたの?常識的には、"F[n]>F[n+1]" の出力はすべて TRUE になるはずです。
「n」に割り当てる数を35から50に増やすと、
グラフの形がおかしくなる。
その理由は「倍精度バイナリ浮動小数点」( http://en.wikipedia.org/wiki/Double_precision )に基づいていると推測しています。私の意見では、R は 0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 * 2^(-52) (ゼロが 52 個あります) より小さい数を再帰関係でより大きな数として割り当てます。
ただし、私の推測が正しいかどうかはわかりません。私の仮定が正しいとしても、なぜRは非常に小さい数をより大きな数として逆に割り当てるのですか? さらに、「n=50」の場合、なぜRはグラフの形をまるごと変えてしまうのでしょうか?
私たちを手伝ってくれますか?
前もって感謝します。
numerical-methods - 固有値で ILUT パーコンディショナーを使用して BICGSTAB 線形ソルバーを実行すると、「推定誤差」-1.#IND が発生するのはなぜですか?
質問したいのですが、固有値 (C++ ライブラリ、数値線形計算を行う) を使用して線形方程式を解く場合、双共役勾配 BICGSTAB を不完全 LU 前提条件で使用しますが、結果 bg.error()("estimated error") は -1 になります。#IND、1 回の反復の後、線形方程式のサイズは 20000 です。この問題について誰か助けてくれませんか? 他の小さなサイズ、たとえば 200 も試してみましたが、それで問題ありません。