mirror of
https://gitee.com/chfenger/goNum.git
synced 2025-12-06 16:49:24 +08:00
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.
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
// Max
|
||
/*
|
||
------------------------------------------------------
|
||
作者 : Black Ghost
|
||
日期 : 2018-11-19
|
||
版本 : 0.0.0
|
||
------------------------------------------------------
|
||
向量第一个绝对值最大值及其位置
|
||
------------------------------------------------------
|
||
输入 :
|
||
a a 被处理向量
|
||
输出 :
|
||
sol 解值
|
||
ii 第一个绝对值最大值位置
|
||
err 解出标志:false-未解出或达到步数上限;
|
||
true-全部解出
|
||
------------------------------------------------------
|
||
*/
|
||
|
||
package goNum
|
||
|
||
import (
|
||
"math"
|
||
)
|
||
|
||
// MaxAbs 向量第一个绝对值最大值及其位置
|
||
func MaxAbs(a []float64) (float64, int, bool) {
|
||
/*
|
||
向量第一个绝对值最大值及其位置
|
||
输入 :
|
||
a a 被处理向量
|
||
输出 :
|
||
sol 解值
|
||
ii 第一个最大值位置
|
||
err 解出标志:false-未解出或达到步数上限;
|
||
true-全部解出
|
||
*/
|
||
var sol float64
|
||
var ii int
|
||
var err bool = false
|
||
|
||
n := len(a)
|
||
ii = 0
|
||
sol = a[ii]
|
||
for i := 1; i < n; i++ {
|
||
if math.Abs(sol) < math.Abs(a[i]) {
|
||
ii = i
|
||
sol = a[i]
|
||
}
|
||
}
|
||
|
||
err = true
|
||
return sol, ii, err
|
||
}
|