Skip to content

Commit 96fccdb

Browse files
authored
update comments
update comments in all of files in convenient to generate package information using `godoc` command or give tips in LiteIDE editor when the cursor keeps resting on a function or method.
1 parent e8e4717 commit 96fccdb

File tree

100 files changed

+233
-94
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+233
-94
lines changed

Anm.go

+15-1
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,27 @@
1313
n 整数
1414
m 整数, m <= n
1515
输出 :
16-
16+
1717
------------------------------------------------------
1818
*/
1919

2020
package goNum
2121

22+
// Anm
23+
// m
24+
// 计算排列 A 的值
25+
// n
2226
func Anm(n, m int) int {
27+
/*
28+
m
29+
计算排列 A 的值
30+
n
31+
------------------------------------------------------
32+
输入 :
33+
n 整数
34+
m 整数, m <= n
35+
输出 :
36+
*/
2337
//不直接使用阶乘计算可以稍许增加速度
2438
temp0 := 1
2539
for i := n; i >= n-m+1; i-- {

Bisection.go

+14-10
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,22 @@ import (
2727
"math"
2828
)
2929

30+
// Bisection 此程序设计使用二分法来求解连续、单自变量、单调函数(区间
31+
//内)指定有限区间上的解
3032
func Bisection(fn func(float64) float64, a, b float64, N int, tol float64) (float64, bool) {
3133
/*
32-
用二分法来求解连续、单自变量、单调函数(区间内)指定有限区间上的解
33-
输入 :
34-
fn 函数,定义为等式左侧部分,右侧为零
35-
a, b 求解区间
36-
N 步数上限
37-
tol 误差上限
38-
输出 :
39-
sol 解值
40-
err 解出标志:false-未解出或达到步数上限;
41-
true-全部解出
34+
此程序设计使用二分法来求解连续、单自变量、单调函数(区间
35+
内)指定有限区间上的解
36+
线性收敛
37+
输入 :
38+
fn 函数,定义为等式左侧部分,右侧为零
39+
a, b 求解区间
40+
N 步数上限
41+
tol 误差上限
42+
输出 :
43+
sol 解值
44+
err 解出标志:false-未解出或达到步数上限;
45+
true-全部解出
4246
*/
4347
var sol float64
4448
var err bool = false

Bisection_test.go

+14-10
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,22 @@ import (
2828
"testing"
2929
)
3030

31+
// Bisection 此程序设计使用二分法来求解连续、单自变量、单调函数(区间
32+
//内)指定有限区间上的解
3133
func Bisection(fn func(float64) float64, a, b float64, N int, tol float64) (float64, bool) {
3234
/*
33-
用二分法来求解连续、单自变量、单调函数(区间内)指定有限区间上的解
34-
输入 :
35-
fn 函数,定义为等式左侧部分,右侧为零
36-
a, b 求解区间
37-
N 步数上限
38-
tol 误差上限
39-
输出 :
40-
sol 解值
41-
err 解出标志:false-未解出或达到步数上限;
42-
true-全部解出
35+
此程序设计使用二分法来求解连续、单自变量、单调函数(区间
36+
内)指定有限区间上的解
37+
线性收敛
38+
输入 :
39+
fn 函数,定义为等式左侧部分,右侧为零
40+
a, b 求解区间
41+
N 步数上限
42+
tol 误差上限
43+
输出 :
44+
sol 解值
45+
err 解出标志:false-未解出或达到步数上限;
46+
true-全部解出
4347
*/
4448
var sol float64
4549
var err bool = false

Cnm.go

+16-3
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,29 @@
1010
n
1111
------------------------------------------------------
1212
输入 :
13-
n 正整数
14-
m 正整数, m <= n
13+
n 整数
14+
m 整数,m <= n
1515
输出 :
16-
16+
1717
------------------------------------------------------
1818
*/
1919

2020
package goNum
2121

22+
// Cnm
23+
// m
24+
// 计算组合 C 的值
25+
// n
2226
func Cnm(n, m int) int {
27+
/*
28+
m
29+
计算组合 C 的值
30+
n
31+
输入 :
32+
n 整数
33+
m 整数,m <= n
34+
输出 :
35+
*/
2336
//不直接使用阶乘计算可以稍许增加速度
2437
return Anm(n, m) / Factorial(m)
2538
}

DerivativePoly.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,17 @@
2121

2222
package goNum
2323

24+
// DerivativePoly 求单变量多项式n阶导数
2425
func DerivativePoly(A Matrix, n int) (Matrix, bool) {
2526
/*
26-
求单变量多项式n阶导数
27-
输入 :
28-
A 按幂次连续增加的系数向量,(N+1)x1,N为最高幂次
29-
n 求导次数
30-
输出 :
31-
sol 解,(N+1-n)x1
32-
err 解出标志:false-未解出或达到边界;
33-
true-全部解出
27+
求单变量多项式n阶导数
28+
输入 :
29+
A 按幂次连续增加的系数向量,(Nn+1)x1,Nn为最高幂次
30+
n 求导次数
31+
输出 :
32+
sol 解,(Nn+1-n)x1
33+
err 解出标志:false-未解出或达到边界;
34+
true-全部解出
3435
*/
3536
//判断求导次数与最高幂次关系
3637
Nn := A.Rows - 1

DerivativePoly_test.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,17 @@ import (
2727
"github.com/chfenger/goNum"
2828
)
2929

30+
// DerivativePoly 求单变量多项式n阶导数
3031
func DerivativePoly(A goNum.Matrix, n int) (goNum.Matrix, bool) {
3132
/*
32-
求单变量多项式n阶导数
33-
输入 :
34-
A 按幂次连续增加的系数向量,(N+1)x1,N为最高幂次
35-
n 求导次数
36-
输出 :
37-
sol 解,(N+1-n)x1
38-
err 解出标志:false-未解出或达到边界;
39-
true-全部解出
33+
求单变量多项式n阶导数
34+
输入 :
35+
A 按幂次连续增加的系数向量,(Nn+1)x1,Nn为最高幂次
36+
n 求导次数
37+
输出 :
38+
sol 解,(Nn+1-n)x1
39+
err 解出标志:false-未解出或达到边界;
40+
true-全部解出
4041
*/
4142
//判断求导次数与最高幂次关系
4243
Nn := A.Rows - 1

DetA.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,17 @@ import (
2525
"math"
2626
)
2727

28+
// DetA 求矩阵行列式值的列主元消去法
2829
func DetA(a [][]float64) (float64, bool) {
2930
/*
30-
求矩阵行列式值的列主元消去法
31-
输入 :
32-
a 矩阵
33-
输出 :
34-
sol 解值,值
35-
err 解出标志:false-未解出或达到步数上限;
36-
true-全部解出
31+
求矩阵行列式值的列主元消去法
32+
输入 :
33+
a 矩阵
34+
输出 :
35+
sol 解值,值
36+
err 解出标志:false-未解出或达到步数上限;
37+
true-全部解出
3738
*/
38-
3939
var sol float64 = 1.0
4040
var err bool = false
4141
var count0 int

DetA_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/chfenger/goNum"
2929
)
3030

31+
// DetA 求矩阵行列式值的列主元消去法
3132
func DetA(a [][]float64) (float64, bool) {
3233
/*
3334
求矩阵行列式值的列主元消去法

E_Mat.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@
1818

1919
package goNum
2020

21+
// E_Mat 返回n阶单位矩阵
2122
func E_Mat(n int) ([][]float64, bool) {
2223
/*
23-
返回n阶单位矩阵
24-
输入 :
25-
n 阶数
26-
输出 :
27-
sol 解值
28-
err 解出标志:false-未解出或达到步数上限;
29-
true-全部解出
24+
返回n阶单位矩阵
25+
输入 :
26+
n 阶数
27+
输出 :
28+
sol 解值
29+
err 解出标志:false-未解出或达到步数上限;
30+
true-全部解出
3031
*/
31-
3232
sol := make([][]float64, n)
3333
for i := 0; i < n; i++ {
3434
sol[i] = make([]float64, n)

ErrorEvaluation.go

+3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"math"
3838
)
3939

40+
// MaxError 最大误差
4041
func MaxError(FY Matrix) float64 {
4142
//最大误差
4243
//判断FY的维数
@@ -53,6 +54,7 @@ func MaxError(FY Matrix) float64 {
5354
return maxE
5455
}
5556

57+
// MeanError 平均误差
5658
func MeanError(FY Matrix) float64 {
5759
//平均误差
5860
//判断FY的维数
@@ -68,6 +70,7 @@ func MeanError(FY Matrix) float64 {
6870
return meanE
6971
}
7072

73+
// RMSError 均方根误差
7174
func RMSError(FY Matrix) float64 {
7275
//均方根误差
7376
//判断FY的维数

Factorial.go

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package goNum
2020

21+
// Factorial 计算自然数n的阶乘
2122
func Factorial(n int) int {
2223
//判断n
2324
if n < 0 {

Fibonacci.go

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package goNum
2020

21+
// Fibonacci 求Fibonacci数列
2122
func Fibonacci(n int) int {
2223
/*
2324
求Fibonacci数列

FittingBezier.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
package goNum
4040

41-
//Bernstein Polynomial
41+
//BernsteinPoly Bernstein Polynomial
4242
func BernsteinPoly(i, N int) Matrix {
4343
cni := Cnm(N, i)
4444
sol := ZeroMatrix(N+1, 1)
@@ -62,6 +62,7 @@ func BernsteinPoly(i, N int) Matrix {
6262
return sol
6363
}
6464

65+
// FittingBezier Bezier曲线拟合控制点
6566
func FittingBezier(XY Matrix) (Matrix, bool) {
6667
/*
6768
Bezier曲线拟合控制点

FittingBezier_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import (
4444
"github.com/chfenger/goNum"
4545
)
4646

47-
//Bernstein Polynomial
47+
//BernsteinPoly Bernstein Polynomial
4848
func BernsteinPoly(i, N int) goNum.Matrix {
4949
cni := goNum.Cnm(N, i)
5050
sol := goNum.ZeroMatrix(N+1, 1)
@@ -68,6 +68,7 @@ func BernsteinPoly(i, N int) goNum.Matrix {
6868
return sol
6969
}
7070

71+
// FittingBezier Bezier曲线拟合控制点
7172
func FittingBezier(XY goNum.Matrix) (goNum.Matrix, bool) {
7273
/*
7374
Bezier曲线拟合控制点

FittingLSQ.go

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
package goNum
3535

36+
// FittingLSQ 线性最小二乘拟合
3637
func FittingLSQ(XY Matrix) (Matrix, bool) {
3738
/*
3839
线性最小二乘拟合

FittingLSQ_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"github.com/chfenger/goNum"
4040
)
4141

42+
// FittingLSQ 线性最小二乘拟合
4243
func FittingLSQ(XY goNum.Matrix) (goNum.Matrix, bool) {
4344
/*
4445
线性最小二乘拟合

FittingPolynomial.go

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import (
4242
"math"
4343
)
4444

45+
// FittingPolynomial 多项式拟合
4546
func FittingPolynomial(xy Matrix, m int) (Matrix, float64, float64, bool) {
4647
/*
4748
多项式拟合

FittingPolynomial_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import (
4545
"github.com/chfenger/goNum"
4646
)
4747

48+
// FittingPolynomial 多项式拟合
4849
func FittingPolynomial(xy goNum.Matrix, m int) (goNum.Matrix, float64, float64, bool) {
4950
/*
5051
多项式拟合

FittingTriPoly.go

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import (
4040
"math"
4141
)
4242

43+
// FittingTriPoly 基于傅立叶(Fourier)级数的三角多项式拟合
4344
func FittingTriPoly(XY Matrix, M int) (Matrix, bool) {
4445
/*
4546
基于傅立叶(Fourier)级数的三角多项式拟合

FittingTriPoly_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import (
4343
"github.com/chfenger/goNum"
4444
)
4545

46+
// FittingTriPoly 基于傅立叶(Fourier)级数的三角多项式拟合
4647
func FittingTriPoly(XY goNum.Matrix, M int) (goNum.Matrix, bool) {
4748
/*
4849
基于傅立叶(Fourier)级数的三角多项式拟合

InconsistentLSQ.go

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
package goNum
3434

35+
// InconsistentLSQ 求解矛盾方程组的最小二乘法(Least Square Method)
3536
func InconsistentLSQ(A, b Matrix) (Matrix, bool) {
3637
/*
3738
求解矛盾方程组的最小二乘法(Least Square Method)

InconsistentLSQ_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
"github.com/chfenger/goNum"
3939
)
4040

41+
// InconsistentLSQ 求解矛盾方程组的最小二乘法(Least Square Method)
4142
func InconsistentLSQ(A, b goNum.Matrix) (goNum.Matrix, bool) {
4243
/*
4344
求解矛盾方程组的最小二乘法(Least Square Method)

IntegralCompositeNewtonCotes.go

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
package goNum
4949

50+
// IntegralCompositeNewtonCotes 1-8级复化Newton-Cotes求积分公式
5051
func IntegralCompositeNewtonCotes(fun func(float64) float64, a, b float64, n, Nn int) (float64, bool) {
5152
/*
5253
1-8级复化Newton-Cotes求积分公式

IntegralCompositeNewtonCotesHalf.go

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import (
5353
"math"
5454
)
5555

56+
// IntegralCompositeNewtonCotesHalf 1-8级逐次分半复化Newton-Cotes求积分公式
5657
func IntegralCompositeNewtonCotesHalf(fun func(float64) float64, a, b, tol float64, n, Nmax int) (float64, bool) {
5758
/*
5859
1-8级逐次分半复化Newton-Cotes求积分公式

0 commit comments

Comments
 (0)