目录
abs函数是绝对值函数(absolute value function)的缩写,在编程中有多种实际应用场景,因为它能够方便地处理需要忽略数值符号的情况。常见的应用场景有:
1、数值处理:在数据分析和科学计算中,经常需要处理各种数值。使用abs函数可以确保获得的数值是非负的,从而避免产生错误结果或无效数据。例如,在Python中,当我们需要计算一组数的总和或平均值时,如果这组数包含负数,使用abs函数可以确保结果是非负的。
2、距离计算:在计算机视觉、机器学习和模式识别等领域,经常需要计算两个向量或点之间的距离。通过将绝对值应用于差值,我们可以得到正确的距离值。例如,使用abs(x2-x1)和abs(y2-y1)可以计算二维平面上两点之间的距离。
3、数值排序:在排序算法中,可能需要按照数值的大小对数据进行排序。使用abs函数可以将负数转换为正数,从而确保排序的准确性。
4、数据库查询:在SQL查询中,abs函数也发挥着重要作用。例如,当我们想要找出最大的订单金额而不考虑其正负时,可以使用abs函数对订单金额取绝对值。同样,当比较工资或其他数值字段时,abs函数可以帮助我们忽略符号差异,只关注数值的大小。
5、信号处理:在信号处理领域,abs函数常用于计算信号的幅值,即信号的绝对值。这对于分析信号的强度和变化非常有用。
6、逻辑操作:在某些逻辑操作中,我们可能希望忽略数值的符号。使用abs函数可以确保比较或计算操作基于数值的绝对值进行。
7、数据验证:在处理数据时,abs函数还可以用于验证数据的偏差或变化范围。例如,通过计算数据点与平均值的绝对差值,我们可以评估数据的离散程度。
综上所述,abs函数在编程中的实际应用场景非常广泛,涉及数据分析、科学计算、图像处理、信号处理等多个领域。
1、abs函数:
1-1、Python:
- # 1.函数:abs(absolute value function,取绝对值函数前3个字母命名)
- # 2.功能:用于计算一个数的绝对值
- # 3.语法:abs(x)
- # 4.参数:
- # 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的Python表达式,包括变量、常量、算术表达式或函数调用等.
- # 4-2. x可以是整数、浮点数或复数.
- # 5.返回值:返回x参数的绝对值.
- # 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用abs(x)函数(例如字符串或列表),
- # Python会抛出一个TypeError异常,因为abs()函数只能接受数值类型的参数.
- # 7.示例:
- # 整数
- positive_int = 10
- negative_int = -10
- print(abs(positive_int)) # 输出: 10
- print(abs(negative_int)) # 输出: 10
-
- # 浮点数
- positive_float = 3.14
- negative_float = -2.71
- print(abs(positive_float)) # 输出: 3.14
- print(abs(negative_float)) # 输出: 2.71
-
- # 零
- zero = 0
- print(abs(zero)) # 输出: 0
-
- # 复数(返回复数的模,即绝对值)
- complex_num = 3 + 4j
- print(abs(complex_num)) # 输出: 5.0(即sqrt(3^2 + 4^2))
-
- # 使用变量
- num = -10
- absolute_value = abs(num)
- print(absolute_value) # 输出: 10
-
- # 使用常量
- print(abs(-3.14)) # 输出: 3.14
-
- # 使用算术表达式
- print(abs(4 - 9)) # 输出: 5
-
- # 使用函数返回值
- def get_negative_number():
- return -5
- print(abs(get_negative_number())) # 输出: 5
-
- # 使用非数值类型,发出的报警信息
- # print(abs("myelsa"))
- # TypeError: bad operand type for abs(): 'str'
- # 8.运行结果:
- # 10
- # 10
- # 3.14
- # 2.71
- # 0
- # 5.0
- # 10
- # 3.14
- # 5
- # 5
1-2、VBA:
- ' 1.函数:Abs(Absolute Value Function,取绝对值函数前3个字母命名)
- ' 2.功能:用于计算一个数的绝对值
- ' 3.语法:Abs(x)
- ' 4.参数:
- ' 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的表达式,包括变量、常量、算术表达式或函数调用等.
- ' 4-2. x可以是整数、浮点数或复数.
- ' 5.返回值:返回x参数的绝对值.
- ' 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用Abs(x)函数(例如字符串或列表),VBA会抛出一个TypeError异常,因为Abs(x)函数只能接受数值类型的参数.
- ' 此外,在VBA中,函数的命名通常遵循Pascal命名法(即每个单词的首字母大写),而不是Python中的小写加下划线风格。因此,在VBA中我们使用Abs(x),而不是abs(x).
- ' 7.示例:
- '--------------------------------------------------------------------------------------------------------------------------------------------------------------
- Rem 自定义函数,功能:返回值供其他过程调用
- Function GetNegativeNumber() As Integer
- GetNegativeNumber = -5
- End Function
- Rem 自定义函数,功能:计算复数的模
- Function ComplexModulus(realPart As Double, imagPart As Double) As Double
- ' 计算复数的模(sqrt(realPart^2 + imagPart^2))并返回结果
- ComplexModulus = Sqr(realPart * realPart + imagPart * imagPart)
- End Function
- Rem 执行过程,功能:演示Abs(x)函数传不同参数类型所得到的结果
- Sub TestRun()
- ' 定义整数变量
- Dim positive_int As Integer
- Dim negative_int As Integer
- ' 定义浮点数变量
- Dim positive_float As Double
- Dim negative_float As Double
- ' 定义整数变量,用于存储零
- Dim zero As Integer
- ' 定义整数变量,用于后续计算
- Dim num As Integer
- ' 定义双精度浮点数变量,用于存储绝对值
- Dim absolute_value As Double
- ' 定义双精度浮点数变量,用于存储复数的实部
- Dim realPart As Double
- ' 定义双精度浮点数变量,用于存储复数的虚部
- Dim imagPart As Double
- ' 定义双精度浮点数变量,用于存储复数的模
- Dim modulus As Double
- ' 定义字符串变量
- Dim str1 As String
-
- ' 整数部分
- ' 赋值为正整数10
- positive_int = 10
- ' 赋值为负整数-10
- negative_int = -10
- ' 输出正整数的绝对值,结果为10
- Debug.Print Abs(positive_int) ' 输出: 10
- ' 输出负整数的绝对值,结果为10
- Debug.Print Abs(negative_int) ' 输出: 10
-
- ' 浮点数部分
- ' 赋值为正浮点数3.14
- positive_float = 3.14
- ' 赋值为负浮点数-2.71
- negative_float = -2.71
- ' 输出正浮点数的绝对值,结果为3.14
- Debug.Print Abs(positive_float) ' 输出: 3.14
- ' 输出负浮点数的绝对值,结果为2.71
- Debug.Print Abs(negative_float) ' 输出: 2.71
-
- ' 零的处理
- ' 赋值为0
- zero = 0
- ' 输出0的绝对值,结果为0
- Debug.Print Abs(zero) ' 输出: 0
-
- ' 使用变量计算绝对值
- ' 赋值为-10
- num = -10
- ' 计算num的绝对值并存储在absolute_value中
- absolute_value = Abs(num)
- ' 输出absolute_value的值,结果为10
- Debug.Print absolute_value ' 输出: 10
-
- ' 使用常量计算绝对值
- ' 输出-3.14的绝对值,结果为3.14
- Debug.Print Abs(-3.14) ' 输出: 3.14
-
- ' 使用算术表达式计算绝对值
- ' 输出4 - 9的结果的绝对值,结果为5
- Debug.Print Abs(4 - 9) ' 输出: 5
-
- ' 输出GetNegativeNumber()返回值的绝对值,结果为5
- Debug.Print Abs(GetNegativeNumber()) ' 输出: 5
-
- ' 定义复数的实部和虚部
- realPart = 3
- imagPart = 4
-
- ' 调用ComplexModulus函数计算复数的模
- modulus = ComplexModulus(realPart, imagPart)
-
- ' 输出结果,显示复数3 + 4j的模
- Debug.Print "复数" & realPart & " + " & imagPart & "j的模: " & modulus
-
- ' 使用字符串计算绝对值,弹出警示对话框:类型不匹配
- str1 = "Myelsa"
- Debug.Print Abs(str1)
- End Sub
- '结果输出:
- '10
- '10
- ' 3.14
- ' 2.71
- '0
- '10
- ' 3.14
- '5
- '5
- '复数3 + 4j的模: 5
注意:1-2中的代码需粘贴到你的VBA编辑器中,按F5执行TestRun程序,在立即窗口中输出结果。
2、相关文章:
Python算法之旅:Myelsa的Python算法之旅(高铁直达)-CSDN博客
Python函数之旅:Myelsa的Python函数之旅(高铁直达)
个人主页:非风V非雨-CSDN博客
欢迎志同道合者一起交流学习,我的QQ:94509325/微信:



评论记录:
回复评论: