首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Python-VBA函数之旅-abs函数

  • 25-03-03 04:23
  • 2193
  • 10997
blog.csdn.net

目录

1、abs函数:

1-1、Python:

1-2、VBA:

2、相关文章:

个人主页:非风V非雨-CSDN博客

        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. # 1.函数:abs(absolute value function,取绝对值函数前3个字母命名)
  2. # 2.功能:用于计算一个数的绝对值
  3. # 3.语法:abs(x)
  4. # 4.参数:
  5. # 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的Python表达式,包括变量、常量、算术表达式或函数调用等.
  6. # 4-2. x可以是整数、浮点数或复数.
  7. # 5.返回值:返回x参数的绝对值.
  8. # 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用abs(x)函数(例如字符串或列表),
  9. # Python会抛出一个TypeError异常,因为abs()函数只能接受数值类型的参数.
  10. # 7.示例:
  11. # 整数
  12. positive_int = 10
  13. negative_int = -10
  14. print(abs(positive_int)) # 输出: 10
  15. print(abs(negative_int)) # 输出: 10
  16. # 浮点数
  17. positive_float = 3.14
  18. negative_float = -2.71
  19. print(abs(positive_float)) # 输出: 3.14
  20. print(abs(negative_float)) # 输出: 2.71
  21. # 零
  22. zero = 0
  23. print(abs(zero)) # 输出: 0
  24. # 复数(返回复数的模,即绝对值)
  25. complex_num = 3 + 4j
  26. print(abs(complex_num)) # 输出: 5.0(即sqrt(3^2 + 4^2))
  27. # 使用变量
  28. num = -10
  29. absolute_value = abs(num)
  30. print(absolute_value) # 输出: 10
  31. # 使用常量
  32. print(abs(-3.14)) # 输出: 3.14
  33. # 使用算术表达式
  34. print(abs(4 - 9)) # 输出: 5
  35. # 使用函数返回值
  36. def get_negative_number():
  37. return -5
  38. print(abs(get_negative_number())) # 输出: 5
  39. # 使用非数值类型,发出的报警信息
  40. # print(abs("myelsa"))
  41. # TypeError: bad operand type for abs(): 'str'
  42. # 8.运行结果:
  43. # 10
  44. # 10
  45. # 3.14
  46. # 2.71
  47. # 0
  48. # 5.0
  49. # 10
  50. # 3.14
  51. # 5
  52. # 5
1-2、VBA:
  1. ' 1.函数:Abs(Absolute Value Function,取绝对值函数前3个字母命名)
  2. ' 2.功能:用于计算一个数的绝对值
  3. ' 3.语法:Abs(x)
  4. ' 4.参数:
  5. ' 4-1. x是计算绝对值的数值表达式,这个表达式可以是任何返回数值类型的表达式,包括变量、常量、算术表达式或函数调用等.
  6. ' 4-2. x可以是整数、浮点数或复数.
  7. ' 5.返回值:返回x参数的绝对值.
  8. ' 6.说明:需要注意的是,如果你尝试对不能转换为数值类型的对象使用Abs(x)函数(例如字符串或列表),VBA会抛出一个TypeError异常,因为Abs(x)函数只能接受数值类型的参数.
  9. ' 此外,在VBA中,函数的命名通常遵循Pascal命名法(即每个单词的首字母大写),而不是Python中的小写加下划线风格。因此,在VBA中我们使用Abs(x),而不是abs(x).
  10. ' 7.示例:
  11. '--------------------------------------------------------------------------------------------------------------------------------------------------------------
  12. Rem 自定义函数,功能:返回值供其他过程调用
  13. Function GetNegativeNumber() As Integer
  14. GetNegativeNumber = -5
  15. End Function
  16. Rem 自定义函数,功能:计算复数的模
  17. Function ComplexModulus(realPart As Double, imagPart As Double) As Double
  18. ' 计算复数的模(sqrt(realPart^2 + imagPart^2))并返回结果
  19. ComplexModulus = Sqr(realPart * realPart + imagPart * imagPart)
  20. End Function
  21. Rem 执行过程,功能:演示Abs(x)函数传不同参数类型所得到的结果
  22. Sub TestRun()
  23. ' 定义整数变量
  24. Dim positive_int As Integer
  25. Dim negative_int As Integer
  26. ' 定义浮点数变量
  27. Dim positive_float As Double
  28. Dim negative_float As Double
  29. ' 定义整数变量,用于存储零
  30. Dim zero As Integer
  31. ' 定义整数变量,用于后续计算
  32. Dim num As Integer
  33. ' 定义双精度浮点数变量,用于存储绝对值
  34. Dim absolute_value As Double
  35. ' 定义双精度浮点数变量,用于存储复数的实部
  36. Dim realPart As Double
  37. ' 定义双精度浮点数变量,用于存储复数的虚部
  38. Dim imagPart As Double
  39. ' 定义双精度浮点数变量,用于存储复数的模
  40. Dim modulus As Double
  41. ' 定义字符串变量
  42. Dim str1 As String
  43. ' 整数部分
  44. ' 赋值为正整数10
  45. positive_int = 10
  46. ' 赋值为负整数-10
  47. negative_int = -10
  48. ' 输出正整数的绝对值,结果为10
  49. Debug.Print Abs(positive_int) ' 输出: 10
  50. ' 输出负整数的绝对值,结果为10
  51. Debug.Print Abs(negative_int) ' 输出: 10
  52. ' 浮点数部分
  53. ' 赋值为正浮点数3.14
  54. positive_float = 3.14
  55. ' 赋值为负浮点数-2.71
  56. negative_float = -2.71
  57. ' 输出正浮点数的绝对值,结果为3.14
  58. Debug.Print Abs(positive_float) ' 输出: 3.14
  59. ' 输出负浮点数的绝对值,结果为2.71
  60. Debug.Print Abs(negative_float) ' 输出: 2.71
  61. ' 零的处理
  62. ' 赋值为0
  63. zero = 0
  64. ' 输出0的绝对值,结果为0
  65. Debug.Print Abs(zero) ' 输出: 0
  66. ' 使用变量计算绝对值
  67. ' 赋值为-10
  68. num = -10
  69. ' 计算num的绝对值并存储在absolute_value中
  70. absolute_value = Abs(num)
  71. ' 输出absolute_value的值,结果为10
  72. Debug.Print absolute_value ' 输出: 10
  73. ' 使用常量计算绝对值
  74. ' 输出-3.14的绝对值,结果为3.14
  75. Debug.Print Abs(-3.14) ' 输出: 3.14
  76. ' 使用算术表达式计算绝对值
  77. ' 输出4 - 9的结果的绝对值,结果为5
  78. Debug.Print Abs(4 - 9) ' 输出: 5
  79. ' 输出GetNegativeNumber()返回值的绝对值,结果为5
  80. Debug.Print Abs(GetNegativeNumber()) ' 输出: 5
  81. ' 定义复数的实部和虚部
  82. realPart = 3
  83. imagPart = 4
  84. ' 调用ComplexModulus函数计算复数的模
  85. modulus = ComplexModulus(realPart, imagPart)
  86. ' 输出结果,显示复数3 + 4j的模
  87. Debug.Print "复数" & realPart & " + " & imagPart & "j的模: " & modulus
  88. ' 使用字符串计算绝对值,弹出警示对话框:类型不匹配
  89. str1 = "Myelsa"
  90. Debug.Print Abs(str1)
  91. End Sub
  92. '结果输出:
  93. '10
  94. '10
  95. ' 3.14
  96. ' 2.71
  97. '0
  98. '10
  99. ' 3.14
  100. '5
  101. '5
  102. '复数3 + 4j的模: 5

注意:1-2中的代码需粘贴到你的VBA编辑器中,按F5执行TestRun程序,在立即窗口中输出结果。 

2、相关文章:

2-1、Python-VBA函数之旅-all()函数

2-2、Python-VBA函数之旅-any()函数 

2-3、Python-VBA函数之旅-ascii()函数 

2-4、Python-VBA函数之旅-bin()函数 

Python算法之旅:Myelsa的Python算法之旅(高铁直达)-CSDN博客

Python函数之旅:Myelsa的Python函数之旅(高铁直达)

个人主页:非风V非雨-CSDN博客

欢迎志同道合者一起交流学习,我的QQ:94509325/微信:

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览60120 人正在系统学习中
遨游码海,我心飞扬
微信名片
注:本文转载自blog.csdn.net的神奇夜光杯的文章"https://myelsa1024.blog.csdn.net/article/details/137471988"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top