検索

JavaScript でルートを見つける方法

数学では、ルートを見つけることはよくある問題です。方程式の解法や画像処理など、多くの実践的な問題を解決するのに役立ちます。コンピューター サイエンスでは、JavaScript 言語は根探索問題などの数学的問題に適しています。この記事では、JavaScript でルートを見つける方法を学びます。

1. ルートシークとは何か

まず、ルートシークとは何かを明確にする必要があります。数学では、方程式の根は、方程式を真にする未知数の値です。たとえば、二次方程式 ax^2 bx c=0 の場合、x の値はその根です。コンピューターサイエンスでは、方程式の根を解くために数値反復法をよく使用します。

2. 根を解く数値反復法

数値反復法は、数学の問題を近似的に解くために使用できる数値解析手法です。一定の精度または指定された終了条件に達するまで、一定のルールに従って問題の解を徐々に近似します。

根探索問題では、数値反復法が広く使用されています。その基本的な考え方は、初期値から開始し、一定の精度に達するまで反復式に従って徐々に目標値に近づけることです。

数値反復法の手順は次のとおりです。

  1. 初期値 x0 を決定します。
  2. 反復公式に従って次の近似値 xn 1 = f(xn) を計算します。
  3. 終了条件が満たされているかどうかを判断します。満たさない場合は、次の近似値の計算を続けます。
  4. 終了条件が満たされるまで手順 2 と 3 を繰り返します。

根を求める問題では、反復公式の選択が非常に重要です。反復計算式が異なると、収束速度と精度も異なる場合があります。一般的に使用される 2 つの反復公式を以下に紹介します。

3. 二分法による根探索

二分法は、根探索問題における最も単純な数値反復法の 1 つです。その基本的な考え方は、決定する区間を継続的に 2 つに分割し、2 つのサブ区間の関数の値に基づいて次の区間を決定することです。このプロセスは、間隔の長さが指定された精度未満になるまで繰り返されます。

JavaScript では、二分根探索コードは次のとおりです。

function bisection(func, a, b, tol) {
    if (func(a) * func(b) >= 0) {
        throw "Error: f(a) and f(b) do not have opposite signs.";
    }
    let c = a;
    while ((b-a)/2 > tol) {
        c = (a+b)/2;
        if (func(c) === 0.0) {
            return c;
        } else if (func(c)*func(a) < 0) {
            b = c;
        } else {
            a = c;
        }
    }
    return c;
}

パラメータの説明:

  • func: 解決される関数。
  • a, b: 解の間隔。
  • tol: 精度。

4. 根を求めるニュートン法

ニュートン法は、非線形方程式を解くための数値反復法です。その基本的な考え方は、関数の局所線形近似を使用して反復計算を実行することです。各反復で、ニュートン法は現在の点の接線と x 軸の交点を次の反復点として取得し、一定の精度が達成されるまでこのプロセスを繰り返します。

JavaScript では、ニュートン法のルートを見つけるためのコードは次のとおりです。

function newton(func, derivFunc, x0, tol) {
    let x1 = x0 - func(x0) / derivFunc(x0);
    while (Math.abs(x1 - x0) > tol) {
        x0 = x1;
        x1 = x0 - func(x0) / derivFunc(x0);
    }
    return x1;
}

パラメーターの説明:

  • func: 解く関数。
  • derivFunc: 関数の導関数。
  • ##x0: 初期値。
  • tol: 精度。
5. 概要

この記事では、JavaScript での根探索の基本的な方法、特に数値反復法の二等分法とニュートン法を紹介します。実際のアプリケーションでは、特定の問題に応じて適切な方法を選択して、方程式の根を解くことができます。

以上がJavaScript でルートを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
USESTATEの理解():React React Neact State Managementの包括的なガイドUSESTATEの理解():React React Neact State Managementの包括的なガイドApr 25, 2025 am 12:21 AM

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

Reactを使用することの利点は何ですか?Reactを使用することの利点は何ですか?Apr 25, 2025 am 12:16 AM

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

Reactでのデバッグ:一般的な問題の特定と解決Reactでのデバッグ:一般的な問題の特定と解決Apr 25, 2025 am 12:09 AM

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

ReactのUseState()とは何ですか?ReactのUseState()とは何ですか?Apr 25, 2025 am 12:08 AM

UseState()inReactallowsstateManagementInFunctionalComponents.1)itsimplifiesstateManagement、makeCodemoreconcise.2)usetheprevcountFunctionToupDateStateBasedTateBasedTateBadeStateValue、AvolidingStalestateSues.3)

useState()vs。usereducer():州のニーズに合った適切なフックを選択するuseState()vs。usereducer():州のニーズに合った適切なフックを選択するApr 24, 2025 pm 05:13 PM

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseState()を使用して状態を管理する:実用的なチュートリアルUseState()を使用して状態を管理する:実用的なチュートリアルApr 24, 2025 pm 05:05 PM

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

UseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングUseState()を使用する時期と、代替の州管理ソリューションを検討するタイミングApr 24, 2025 pm 04:49 PM

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Reactの再利用可能なコンポーネント:コードの維持可能性と効率の向上Apr 24, 2025 pm 04:45 PM

再利用することは、codecodemaintainabilityを抑制することを再生します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境