問題タブ [bisection]

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.

0 投票する
1 に答える
22325 参照

matlab - MatLab - 二分法で f(x) = x - tan(x) の根を見つける

MatLab で二分アルゴリズムのコードを作成しました。これは、教科書に記載されている疑似コードに基づいています。これまでのところ、アルゴリズムはすべての問題で問題なく機能しましたが、間隔 [1,2] で f(x) = x - tan(x) の根を見つけるように求められたとき、いくつか問題が発生しました。私のコードは次のとおりです。

このアルゴリズムを間隔 [1,2] で、たとえば 15 回の反復で実行すると、最終的な答えは次のようになります。

f(c) = 0 (上記のベクトルの 3 番目のエントリ) を取得したいので、これは明らかに外れています。

誰かが私の結果を改善する方法について助けやヒントをくれれば、とても感謝しています. 私はMatLabに非常に慣れていないので、初心者として扱ってください:)。

0 投票する
1 に答える
2550 参照

matlab - Matlab の二分法コードのエラー

二分法の適切な実装を作成する必要があります。つまり、考えられるすべてのユーザー入力エラーに対処する必要があります。これが私のコードです:

これをMatlabでテストしようとすると、次のエラーメッセージが表示されます。

エラーコードが機能するかどうかを確認しようとしましたが、機能していないようです。機能するはずの関数でテストしようとすると、同じエラーが発生します。

0 投票する
1 に答える
1377 参照

numerical-methods - 二分法は精度を失った

私はこのとても素敵なフォーラムをしばらく休んでいます。数値解析コースを受講していて、二分法をプログラムするように求められました。これが私のコードです

私が抱えている唯一の問題は、x = 0.354492のときにルートが見つかり、実際のルートがx = 1/3にあるため、実際には倍精度または許容誤差のいずれかで問題が発生していることです。このコードを改善してより良い結果を得るにはどうすればよいかわかりません。何か案が?

0 投票する
2 に答える
2269 参照

python - 二分アルゴリズムが機能しないのはなぜですか? パイソン

Python クラス用のクレジット カード支払い計算機を作成しています。課題は、x か月後に残高をゼロにするために必要な毎月の支払いを計算する計算機の定義を作成することです。

この定義には、initialBalance、apr、months の 3 つのパラメーターがあります。

私が理解できる限り、割り当てのポイントは、二分法を使用して答えを見つけることです。割り当てを支援する他の2つの定義を書きました。

1) newBalance() - 支払いが行われた後の新しい残高を決定します。2) balances() - 支払いが行われた後に残高のリストを返します。

その観点から、balances()[-1] は最終的な残高を返すので、私の行動計画は、リストの最後の項目を 0 に等しい (または少なくとも 0 の 0.005 以内!) と評価し、そうであれば返すことでした。私をそこに連れて行った支払い。

最終残高がマイナスの場合 (支払いすぎた!): payment = payment - (payment / 2); 残高がプラスの場合 (十分な支払いがありません!): payment = payment + (payment / 2);

私が理解できる限り、私のアルゴリズムは最終的に結論を出すはずですが、十分に近い答えを見つけることは決してありません...

これが私のコードです(そして最後に教授のテスト定義があります):

助けてくれてありがとう。私が今までグーグルで検索したすべてがstackoverflowにない限り、おそらくcompsciに参加しなかったでしょう。

0 投票する
1 に答える
5458 参照

python - MITの「二分探索」

私はたまたまこのコードを見つけましたが、これは正常に動作しているようです。驚いたことに、(MIT コースの場合はチェックに合格) 年利が 0.15 の場合にのみ失敗し、他の場合は問題ありません。私はかなりの初心者なので、今日は解決する見込みはありませんが、誰かが私にこの問題について光を当てることができれば、本当に感謝しています!

結果:

0 投票する
2 に答える
9660 参照

matlab - 二分法(数値解析)

すべてのルートが見つかるまでに何回の再帰が行われますか? また、どれがルーツですか?


これが私のコードです:

0 投票する
1 に答える
402 参照

matlab - 二等分コードのすべての中点を表示するにはどうすればよいですか?

二分法を見つけるためのコードがあります(そしてそれは最終的に機能します!)が、さらに3つのものを含める必要があります:

  • output-ルート履歴アルゴリズムによって取得された中点のシーケンスを含むベクトル
  • 出力-関数の絶対値
  • rでのf(x)、つまりfRoot = f(r)入力-最大反復

    /li>

どうすればこれを行うことができますか?ありがとう!!

0 投票する
8 に答える
63167 参照

python - Pythonで二等分法を行う方法

次のルートを決定するために二分法を実行する Python プログラムを作成したいと考えています。

二分法は、多項式 f(x) の根を推定するための数値的方法です。

答えを教えてくれる利用可能な疑似コード、アルゴリズム、またはライブラリはありますか?

0 投票する
1 に答える
905 参照

segmentation-fault - セグメンテーション違反 - fortran 90 - 二分サブルーチン

同じコードのバージョンがここにアップロードされます。

これは私が思いつくことができる最小限の例です。これにより、gfortran を使用して実行可能ファイルを実行すると、また Web サイトでもセグメンテーション エラーが発生します。

0 投票する
1 に答える
3449 参照

function - MATLAB で関数を変数に設定する方法

宿題として、二分法を使用して範囲内の 1 つの変数を持つ関数のルートを計算するコードを書いています。計算を行うユーザー関数を作成しましたが、関数の入力の 1 つが "fun" であると想定されており、関数と等しく設定されています。

先に進む前に、これが私のコードです。

入力引数は先生によって定義されているので、いじることはできません。関数を実行するに、コマンド ウィンドウでこれらの変数を設定する必要があります。そうすれば、プログラムを後で他のことに使用できます。(私は fzero() を使用してこれを行うことができると思いますが)

私の問題は、fun を何かに設定し、fun(a) または fun(b) を実行できる方法でそれを使用する方法がわからないことです。私たちの本では、彼らは f(x) を無名関数として定義することを行っています。彼らは例の問題のためにこれを行います:

しかし、それをしようとすると、エラーが発生します。エラー: 予期しない MATLAB 演算子です。

投稿する前にプログラムを実行してソリューションをテストしたい場合 (私のプログラムが機能することを願っています!)、本の例からこれらの変数を使用できます。

fun = 8 - 4.5*(x - sin(x)) a = 2 b = 3 TolMax = .001

それらを使用するための本の答えは2.430664.

これに対する答えは信じられないほど簡単でわかりやすいと確信していますが、何らかの理由でそれを行う方法が見つかりません! ご協力ありがとうございました。