Halcom 发表于 2020-9-10 22:36:48

一元二次拟合

Rows:=Rows*1.0/1000.0
Columns:=Columns*1.0/1000.0

x1:=0.00000000000
x2:=0.00000000000
x3:=0.00000000000
x4:=0.00000000000
y1:=0.00000000000
x1y1:=0
x2y1:=0
for i := 0 to |Rows|-1 by 1
    x1:=x1+Rows
    x2:=x2+Rows*Rows
    x3:=x3+Rows*Rows*Rows
    x4:=x4+Rows*Rows*Rows*Rows
    y1:=y1+Columns
    x1y1:=x1y1+Rows*Columns
    x2y1:=x2y1+Rows*Rows*Columns
endfor
create_matrix(3, 3, 0, MatrixID)
set_value_matrix(MatrixID,0,0,|Rows|)
set_value_matrix(MatrixID,0,1,x1)
set_value_matrix(MatrixID,0,2,x2)
set_value_matrix(MatrixID,1,0,x1)
set_value_matrix(MatrixID,1,1,x2)
set_value_matrix(MatrixID,1,2,x3)
set_value_matrix(MatrixID,2,0,x2)
set_value_matrix(MatrixID,2,1,x3)
set_value_matrix(MatrixID,2,2,x4)

create_matrix(3,1,0, MatrixID1)
set_value_matrix(MatrixID1,0,0,y1)
set_value_matrix(MatrixID1,1,0,x1y1)
set_value_matrix(MatrixID1,2,0,x2y1)

invert_matrix(MatrixID,'general', 0, MatrixInvID)
mult_matrix(MatrixInvID,MatrixID1,'AB', MatrixMultID)

get_value_matrix(MatrixMultID, 0, 0, a0)
get_value_matrix(MatrixMultID, 1, 0, a1)
get_value_matrix(MatrixMultID, 2, 0, a2)
return ()

15s1f2ds12fd1f 发表于 2020-9-12 12:08:53

666666666666
页: [1]
查看完整版本: 一元二次拟合