using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace 數值分析實驗報告
#region 曲線擬合的最小二乘法
private static void imput()
console.writeline("請輸入實驗資料的x值:");
string x = console.readline().split(',');
console.writeline("請輸入實驗資料的y值:");
string y = console.readline().split(',');
if (x.length != y.length)
console.writeline("請輸入實驗資料各個點的權函式值:");
string w = console.readline().split(',');
if (x.length != w.length)
console.writeline("請輸入擬合曲線的最高項次數:");
int n = int.parse(console.readline());
console.writeline("實驗資料的法方程為:");
double[,] g = new double[n + 1, n + 2];
for (int i = 0; i < n + 1; i++)
}else
}x_num += n * double.parse(w[x]);
if (j == n + 1)
y_num += p * double.parse(w[x]) * double.parse(y[x]);}}
}if (j == n + 1)
else}}
for (int i = 0; i < n + 1; i++)
console.writeline();
}console.readline();
}#endregion
private static void wucha()
;double f = ;
for (int i = 0; i < 12; i++)
處的值與真實值的誤差為:\n",x[i]);
console.writeline(wucha[i]);
}console.readline();}}
}
這個程式只是實現了根據已知點來得到方程組的矩陣,解方程組的程式實現還沒有實現,不過可以參考上篇高斯列主元法解方程組的程式! 最小二乘法曲線擬合
設有如下實驗資料x1 2345 6789 1011 1213 141516y 46.4 88.8 9.22 9.59.7 9.86 1010.2 10.32 10.42 10.5 10.55 10.58 10.60 試用最小二乘法多次 1到5次 多項式曲線擬合以上資料。import numpy as...
最小二乘法曲線擬合
在實際工程中,我們常會遇到這種問題 已知一組點的橫縱座標,需要繪製出一條盡可能逼近這些點的曲線 或直線 以進行進一步進行加工或者分析兩個變數之間的相互關係。而獲取這個曲線方程的過程就是曲線擬合。首先,我們從曲線擬合的最簡單情況 直線擬合來引入問題。如果待擬合點集近似排列在一條直線上時,我們可以設直線...
最小二乘法的曲線擬合
最小二乘法的曲線擬合 bool cdatadistillview leastdoublemultiplication long px,long py,long m,long n,double result,double warp for i 0 i m i z 0 b 0 1 d1 n p 0 c ...