如何在 Python 中生成 K 个均匀分布的浮点值?

pythonserver side programmingprogramming

在 Python 中生成 K 个均匀分布的浮点值的简介

本文将重点介绍如何使用 Python 生成 k 个均匀分布的浮点值。众所周知,python 是一种开源、灵活的编程语言,它提供了大量用于处理数据和分析的函数。在本文中,我们将了解如何在 Python 中生成 k 个均匀分布的浮点值,其中 k 是需要打印的值的数量。

查找均匀分布浮点值的方法用于许多实际应用中,例如科学计算、数据可视化和数学运算。创建具有均匀分布值的数据集会很有帮助,这有助于准确地分析和可视化数据。学习 Python 中用于生成均匀间隔浮点值的函数对于处理数值数据的数据科学家或程序员非常有帮助。

在本文中,我们将学习两种解决问题的方法。我们还将详细学习这两种方法的分步分解。我们将通过一个解释性示例了解本文中使用的函数的语法,以便更清楚地了解问题。

那么,现在让我们学习在 Python 中生成均匀间隔浮点值的不同方法。

方法

现在让我们学习如何使用两种方法解决问题。

方法 1:使用循环

在这种方法中,我们将使用循环来解决问题。首先,我们将找到两个数字(即 a 和 b)之间的差值,然后将其除以第三个数字(即 c)以计算值之间的相等间隔。之后,我们将间隔与迭代次数的乘积与起始值(即 a)相加。

以下是代码方法的细分

  • 首先,我们将声明一个名为"result"的列表,用于存储等距值。

  • 之后,我们定义一个名为"evenly_spaced_float_values"的函数,该函数将采用三个参数 a、b 和 c,其中 a 是起始数字,b 是结束数字,c 是 a 和 b 之间的值的数量。

  • 在函数内部,我们首先计算 a 和 b 之间的差值,然后将其除以 c 以计算 a 和 b 之间的相等间隔,并将该值存储在名为"diff"的变量中。

  • 之后,我们开始一个循环,范围从 1 到"c+1"。在循环中,我们添加起始值,该值是 diff 和"i"的乘积。

  • 然后使用 append() 函数将该值附加到结果列表中。

  • 最终结果列表随后显示在控制台屏幕上,显示两个数字之间的数字。

此程序允许用户输入他们想要在其间显示均匀间隔浮点值的数字,还允许用户选择数字之间想要的值的数量。

第一种方法的代码

# 声明列表
result = []
def evenly_spaced_float_values(a,b,c):
    # 计算差异并存储在 diff 变量中
    diff = (b - a) / c
    # 使用循环将数字添加到结果中
    for i in range(1, c + 1):
    result.append(a + (diff * i))
    # 打印结果
    print(result)
    a = int(input("输入第一个数字 "))
    b = int(input("输入第二个数字 "))
    c = int(input("输入范围 "))
    evenly_spaced_float_values(a,b,c)

方法 2:使用 numpy linspace 函数

在此方法中,我们将使用 linspace 函数。linspace 函数用于在指定间隔内创建均匀分布的序列。在这个方法中,我们将要求用户输入存储在 a、b 和 c 中的值,然后将这些值作为参数传递给 linspace 函数,该函数将为我们提供 a 和 b 之间均匀分布的浮点值。

因此,程序的细分是

  • 首先,我们在程序中将 nympy 模块作为 np 导入,以便我们可以使用 linspace 函数。

  • 然后我们声明了结果列表,它将存储由 linspace 函数生成的数字列表。

  • 当程序执行时,它会要求用户输入"第一个数字"、"第二个数字"和"范围"(a 和 b 之间应该有多少个数字)。

  • 然后调用一个名为 evenly spaced float values 的函数,它接受三个参数,分别是 a、b 和c。

  • 在函数内部,a、b 和 c 被传递给 linspace 函数以生成均匀分布的浮点值。

  • 然后将生成的值附加到结果列表中。

  • 之后,我们使用循环打印存储在结果列表中的均匀分布的浮点值。

所用函数的语法

linspace(start, stop, num, end, retstep, dtype)

linspace 是 Python 的 NumPy 库中的内置函数。它用于在指定的间隔内创建均匀分布的序列。

  • start − 它表示间隔开始的初始值。

  • stop − 它表示标记间隔结束的最终值。

  • num − 间隔内要生成的均匀分布样本的数量。默认值为 50。

  • endpoint − 设置为 true 时,表示停止值应包含在间隔内。

  • retstep − 布尔值,确定是否应返回连续数字之间的步长。

  • dtype − 它指定分配给数组内元素的数据类型。

第二种方法的代码

示例

import numpy as np
result = []
# 定义值的范围和数量
def evenly_spaced_float_values(a,b,c):
    # 生成均匀分布的浮点值
    result.append(np.linspace(a, b, c))
    
    a = int(input("输入第一个数字 "))
    b = int(input("输入第二个数字 "))
    c = int(input("输入范围 "))
    evenly_spaced_float_values(a,b,c)

# 打印结果值
for value in result:
    print(value)

现在让我们通过一个例子来理解它。在这个例子中,我们将生成 11 到 30 之间的 12 个均匀分布的浮点值。因此,我们将这些值传递给我们的程序,该程序将计算均匀分布的浮点值。

输出

因此,输出结果将是浮点值列表,即 −

[11.0, 12.54545455, 14.09090909, 15.63636364, 17.18181818, 18.72727273, 20.27272727, 21.81818182, 23.36363636, 24.90909091, 26.45454545, 28.0]

我们可以观察到,在特定范围内,即本例中的 12 内,每个值都是等距的。

此示例展示了使用 Python 生成等距浮点值的过程。

结论

在本文中,我们学习了如何以两种不同的方式在 Python 中打印等距浮点值。第一种是使用循环,第二种是通过 linspace 函数。这可以是数据可视化、信号处理、数学模型、机器学习等实际应用中的有用应用。这也有助于我们提高编程技能。


相关文章


有用资源