RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1401006
Accepted
Alex Kazantsev
Alex Kazantsev
Asked:2022-06-17 15:54:47 +0000 UTC2022-06-17 15:54:47 +0000 UTC 2022-06-17 15:54:47 +0000 UTC

如何在 python 中使用列的输出和总和来组织循环?

  • 772

我建立了三角函数 y=sin(x) 的多项式。为它选择度数 n=5。因此 m=2n=10。在这个阶段,我需要得到一个值的中间结果(表格),如下图(根据公式条件排除第0和第10个值):

在此处输入图像描述

实际上,任务是计算表格单元格的值。它们由以下公式计算: 在此处输入图像描述。

这里 k 等于 n(即 k=n=5)。

现在我已经手动实现了对 k 的搜索,独立设置这些系数(1、2 等等,直到 5)。现在我正在尝试(到目前为止没有成功)获得以下算法:

  1. 计算 k=1 的产品列∏;
  2. 列出 list_product_of_elements;
  3. 计算这些值的总和;
  4. 列出 sum_of_list_product_of_elements;
  5. 输出列表到控制台;
  6. 为 Pandas 框架专栏投稿;
  7. 清除列表;
  8. 对于 k=2,转到下一列 ∏ 并重复操作;
  9. 输出一个填充的 Pandas 框架。

由于列计算不正确,Pandas 对象的元素数量也不匹配。我的周期有什么问题?

编码:

# Рассчитаем коэффициенты b_j: 
# получаем столбцы перемноженных значений y_j на sin(k*x_j) для таблицы выше

# сначала объявим списки, переменные, фрейм Pandas
df_table = pd.DataFrame(columns=['j','y_j', 'П, k=1', 'П, k=2', 'П, k=3', 'П, k=4', 'П, k=5'])
n=5
m=10
list_product_of_elements = []
sum_of_list_product_of_elements = []
sin_list = []

# следом получим столбец y_j:
for elem in x_list:
    sin = round(math.sin(1*elem), 4)
#     print(sin)
    sin_list.append(sin)
summa = sum(sin_list)

# теперь займемся формированием таблицы:
# идем по индексам коэффициентов k (т.е. k=1, k=2 и т.д.):
for n_elems in range(1, n+1): 
    # идем по элементам графы sin(x) (то есть y_j):
    for y_j in sin_list[1:10]:  
        # идем по x_j, рассчитанным по формуле для получения коэффициента b_j
        for x_j in grid_x_j_for_b_k: 
            product_of_elements = round( (y_j*np.sin(n_elems*x_j)), 4)
        # заносим в список рассчитанные элементы для данного k
        list_product_of_elements.append(product_of_elements) 
        # получаем сумму элементов по итерации
        sum_of_list_product_of_elements.append(sum(list_product_of_elements)) 
        # заполняем колонки фрейма 
        df_table[f'П, k={n_elems}'] = list_product_of_elements      
        # вывод колонки в консоль
        print(f'Произведения для k={n_elems}: ', list_product_of_elements)   
        # вывод суммы колонки в консоль
        print(f'Сумма для k={n_elems}: ', sum_of_list_product_of_elements)  
        # очистка списка элементов
        list_product_of_elements.clear()      
        # очистка списка суммы
        sum_of_list_product_of_elements.clear()
    
df_table['j'] = sin_list[1:10]
python
  • 0 0 个回答
  • 0 Views

0 个回答

  • Voted
  1. Best Answer
    Alex Kazantsev
    2022-06-17T16:15:17Z2022-06-17T16:15:17Z

    看来我重新配置了循环并得到了更正确的输出:

    k=1 的乘积:[0.0955, 0.1816, 0.2499, 0.2939, 0.309, 0.294, 0.2502, 0.182, 0.0959]

    k=1 的总和:[1.952]

    k=2 的乘积:[-0.1816, -0.3454, -0.4754, -0.559, -0.5878, -0.5593, -0.476, -0.3461, -0.1825]

    k=2 的总和:[-3.7131]

    以此类推,直到 k=5

    脚本是这样完成的:

    # идем по индексам коэффициентов k (т.е. k=1, k=2 и т.д.):
    for n_elems in range(1, n+1): 
        for y_j in sin_list[1:10]:  
            for x_j in grid_x_j_for_b_k: 
                product_of_elements = round( (y_j*np.sin(n_elems*x_j)), 4)
            list_product_of_elements.append(product_of_elements) 
        sum_of_list_product_of_elements.append(sum(list_product_of_elements))  
        df_table[f'П, k={n_elems}'] = list_product_of_elements      
        print(f'Произведения для k={n_elems}: ', list_product_of_elements)   
        print(f'Сумма для k={n_elems}: ', sum_of_list_product_of_elements)  
        list_product_of_elements.clear()      
        sum_of_list_product_of_elements.clear()
    df_table['y_j'] = sin_list[1:10]
    df_table.loc['Сумма'] = df_table.sum()
    print(df_table)
    

    我还想出了 Pandas 框架:上面也给出了它的代码。

    • 0

相关问题

  • 是否可以以某种方式自定义 QTabWidget?

  • telebot.anihelper.ApiException 错误

  • Python。检查一个数字是否是 3 的幂。输出 无

  • 解析多个响应

  • 交换两个数组的元素,以便它们的新内容也反转

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5