この記事では、Javaによって実装されたN次曲線フィッティング関数について説明します。次のように、参照のために共有してください。
前の記事では、Javaは単一のN次多項式を解決する方法を実装しています。多項式を解くことができた後、いくつかのサンプルポイントデータに基づいて将来のデータを予測するために、どのクラスを使用する必要があります。フィットマトリックスは前の記事に掲載されているので、ここでは説明しません。この記事では、主に、サンプルポイントに基づいて係数マトリックスを計算し、予測ポイントの値を計算する方法に焦点を当てています。
原則は非常に単純であり、式は前の記事でも見つかりました。ここに直接コードを投稿します。
前の記事に記載されているクラスcommonAlgorithm.PolynomiaSoluterが使用されます。
パッケージCommonalgorithm; Import CommonalGorithm.PolynomialSluter; Import Java.lang.math; public class Lotsquare {private double [] [] matrixa;プライベートダブル[] arrayb;プライベートダブル[]要因。プライベートイントオーダー; Public MotimSquare(){} / * *インスタンス化後、計算前に、最初にパラメーターを入力し、サンプリングポイントのx軸座標として式Arrayxを生成し、フィッティングの順序でサンプリング順序 *に配置する必要があります。低いオーダーカーブを低いオーダーカーブに適合させると、不正確になる可能性がありますが、順序が高すぎると計算が遅くなります*/ public boolean generateformula(double [] arrayx、double [] arrayy、int order){if(arrayx.length!= arrayy.length)return false; this.order = order; int len = arrayx.length; //フィッティング操作のXマトリックスとYマトリックス= new double [Order + 1] [Order + 1]; arrayb = new double [Order + 1]; //(int i = 0; i <order+1; i ++){double sumx = 0; for(int j = 0; j <len; j ++){double tmp = math.pow(arrayx [j]、i); sumx += tmp; arrayb [i] += tmp * arrayy [j]; } for(int j = 0; j <= i; j ++)matrixa [j] [i -j] = sumx; } //電源の部分を生成します> roder> x matrix for(int i = order+1; i <= order * 2; i ++){double sumx = 0; for(int j = 0; j <len; j ++)sumx+= math.pow(arrayx [j]、i); for(int j = i -order; j <order+1; j ++){matrixa [i -j] [j] = sumx; }} //インスタンスポリノミア症者と方程式のシステムを解き、各順序因子の係数配列を取得するPolonomialsuluter soluter = new PolonomialSuluter();因子= soluter.getResult(matrixa、arrayb); if(factors == null)falseを返します。それ以外の場合はtrueを返します。 } //入力座標と係数シーケンス因子に基づいて指定された座標を計算した結果public double calucreate(double x){double result = factors [0]; for(int i = 1; i <= order; i ++)result+= factors [i] * math.pow(x、i);返品結果; }}PS:次のような計算ツールがいくつかあります。
オンライン多項式曲線と曲線関数フィッティングツール:
http://tools.vevb.com/jisuanqi/create_fun/
多項式/関数曲線グラフツールをオンラインで描く:
http://tools.vevb.com/jisuanqi/fun_draw
オンライン統一関数(EQ)ソリューション計算ツール:
http://tools.vevb.com/jisuanqi/equ_jisuanqi
Scientific Calculator Online Use_Advanced Calculator Online Calculator:
http://tools.vevb.com/jisuanqi/jsqkeexue
オンラインcalculator_standard電卓:
http://tools.vevb.com/jisuanqi/jsq
Javaアルゴリズムの詳細については、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの要約」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。