class1.cs-擬合類
using system;
using system.collections.generic;
using system.text;
namespace 最小二乘法擬合多項式
guass[i, j] = sumarr(arrx, i, arry, 1, length);
}return computgauss(guass, n);
}public double sumarr(double arr, int n, int length) //求陣列的元素的n次方的和
return s;
}public double sumarr(double arr1, int n1, double arr2, int n2, int length)
return s;
}public double computgauss(double[,] guass, int n)
}if (k != j)
}if (0 == max)
for (i = j + 1; i < n; i++)
}}//結束for (j=0;j= 0; i--)
x[i] = (guass[i, n] - s) / guass[i, i];
}return x;
}//返回值是函式的係數
//例如:y=a0+a1*x 返回值則為a0 a1
//例如:y=a0+a1*x+a2*x*x 返回值則為a0 a1 a2
}}
progran.cs - 測試類
using system;
using system.collections.generic;
using system.text;
namespace 最小二乘法擬合多項式
; double zleastvalue = ;
//例如:y=a0+a1*x+a2*x*x 返回值則為a0 a1 a2
class1 sb = new class1();
xcoe = sb.multiline(xleastvalue, zleastvalue, 11, 5);
console.writeline("5階多項式因子:");
for(int i = 0;i < xcoe.length; i++)
console.writeline("多項式計算出來的位移值 標準位移值 兩者差值 線性度:");
for (int i = 0; i < xleastvalue.length; i++)
console.readkey(true);}}
}
多項式擬合缺點 多項式擬合
在網上看別人的心得 一 最小二乘法的基本原理 從整體上考慮近似函式同所給資料點 i 0,1,m 誤差 i 0,1,m 的大小,常用的方法有以下三種 一是誤差 i 0,1,m 絕對值的最大值,即誤差 向量的 範數 二是誤差絕對值的和,即誤差向量r的1 範數 三是誤差平方和的算術平方根,即誤差向量r的2...
多項式擬合
多項式擬合 多項式的一般形式 y p x n p x p x p x p 多項式擬合的目的是為了找到一組p0 pn,使得擬合方程盡可能的與實際樣本資料相符合。假設擬合得到的多項式如下 f x p x n p x p x p x p 則擬合函式與真實結果的差方如下 loss y 1 f x 1 2 y...
MATLAB多項式及多項式擬合
多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...