You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何创建每个元素为fi函数乘积求和结果的矩阵

首先补全你没给出的f0定义后,用numpy向量化操作就能快速实现你要的矩阵构造逻辑,完全不需要嵌套循环:

完整实现代码

import numpy as np
from numpy import pi

# 预设输入:你的x采样点数组、y观测数组提前定义好
# 补全f0定义,根据你实际的函数调整,示例假设f0是常值函数1
f0 = np.ones_like(x)
f1 = np.sin(pi * x)
f2 = np.sin((2/3) * pi * x)

# 拼接所有f函数为shape=(3, x采样点数量)的数组
f_arr = np.vstack([f0, f1, f2])

# 构造矩阵A:每个元素A[m][n]为所有采样点上f_m * f_n的求和结果
matrix_A = f_arr @ f_arr.T

# 构造向量b:每个元素为对应f_i与y乘积的求和结果
vector_b = (f_arr * y).sum(axis=1)

你之前尝试的错误点

  1. 第一次实现构造的是范德蒙德矩阵,和你需要的f函数乘积求和逻辑完全不匹配,维度也不符合3×3的需求
  2. 第二次手动组合只计算了单采样点的f乘积,没有执行跨所有采样点的求和步骤,且得到的是嵌套列表而非标准numpy数组

拓展(如果是积分场景)

如果你需要的是连续积分结果而非离散采样点求和,只要加上对应积分权重即可,比如梯形积分的实现:

# 计算梯形积分的区间权重
weight = np.gradient(x)
matrix_A = f_arr @ (weight[:, None] * f_arr.T)
vector_b = (f_arr * weight * y).sum(axis=1)

内容的提问来源于stack exchange,提问作者Laura V.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:36:02