Qurak

Linear algebra matrix computations least squares solutions

บทแนะนำ 11 ขั้นตอน รันตามลำดับในหนึ่งเซสชัน ทุกขั้นถูกรันกับเอนจินจริง และเอาต์พุตด้านล่างคือสิ่งที่มันให้

ขั้นที่ 1
A = {{1., 2.}, {5., 6.}, {4.5, 6.}};
B = {5., 6., 8.};
LinearSolve[A, B]
เอาต์พุต
LinearSolve[{{1., 2.}, {5., 6.}, {4.5, 6.}}, {5., 6., 8.}]
ขั้นที่ 2
A = {{1., 2.}, {2., 4.}, {3., 6.}};
B = {5., 6., 8.};
MatrixRank[A]
เอาต์พุต
1
ขั้นที่ 3
X = PseudoInverse[A].B
เอาต์พุต
{0.5857142857142857, 1.1714285714285715}
ขั้นที่ 4
A.X
เอาต์พุต
{2.928571428571429, 5.857142857142858, 8.785714285714285}
ขั้นที่ 5
data = {{0.2, 4.59}, {0.4, 5.05}, {0.6, 6.2}, {0.8, 6.6}, {1., 7.4}};

ไม่มีเอาต์พุต - ขั้นนี้ตั้งค่าบางอย่างไว้ให้ขั้นถัดไป

ขั้นที่ 6
plot1 = ListPlot[ data, PlotStyle -> PointSize[0.02]]
เอาต์พุต
-Graphics-
ขั้นที่ 7
xData = data[[All, 1]];
yData = data[[All, 2]];

ไม่มีเอาต์พุต - ขั้นนี้ตั้งค่าบางอย่างไว้ให้ขั้นถัดไป

ขั้นที่ 8
mat = Transpose[ {Table[1, {Length[xData]}], xData}];
mat//MatrixForm
เอาต์พุต
MatrixForm[{{1, 0.2}, {1, 0.4}, {1, 0.6}, {1, 0.8}, {1, 1.}}]
ขั้นที่ 9
PseudoInverse[mat].yData
เอาต์พุต
{3.8170000000000015, 3.585}
ขั้นที่ 10
sol = FindFit[data, α + β x, {α, β}, x]
เอาต์พุต
{α -> 3.8169999997513093, β -> 3.5849999944044773}
ขั้นที่ 11
Plot[ (α + β x) /. sol, {x, 0, 1}, Epilog -> First[plot1]]
เอาต์พุต
-Graphics-

ฟังก์ชันที่ใช้

สูตรงานที่เกี่ยวข้อง

สูตรงานทั้งหมด · เอกสารอ้างอิงฟังก์ชัน · ใช้สิ่งนี้จากไคลเอนต์ MCP