【Python】计算一个序列数据的镜像(倒影)对应的值
1.问题有一维数据:y = [5023, 5075, 5115, 5100, 5103, 5086, 5098, 5108, 5093, 5105]要计算这组数据对第一个值的镜像(或者说是倒影) 对应的值。2.算法可以先计算每个数据到第一个值的距离,然后每个值再减去对应的2倍距离。y1 = [x-(2*(x-y[0])) for x in y]如果是多维数据的话,用torch.cat([y1,y2
·
1.问题
有一维数据:
y = [5023, 5075, 5115, 5100, 5103, 5086, 5098, 5108, 5093, 5105]
要计算这组数据对第一个值的镜像(或者说是倒影) 对应的值。
2.算法
可以先计算每个数据到第一个值的距离,然后每个值再减去对应的2倍距离。
y1 = [x-(2*(x-y[0])) for x in y]
如果是多维数据的话,用torch.cat([y1,y2,y3], dim=1)装起来,然后加个负号就好了。
data = torch.cat([y1,y2,y3], dim=1)
data1 = -data
3.完整代码
import matplotlib.pyplot as plt
y = [5023, 5075, 5115, 5100, 5103, 5086, 5098, 5108, 5093, 5105]
y1 = [x-(2*(x-y[0])) for x in y]
x = [x for x in range(0, len(y))]
print(y, x)
# 画图
plt.plot(x, y, marker='o', mec='r', mfc='w')
plt.plot(x, y1, marker='o', mec='r', mfc='w')
for a, b in zip(x, y):
plt.text(a, b + y[-1] * 0.001, round(b, 4), ha='center', va='bottom', fontsize=9)
for a, b in zip(x, y1):
plt.text(a, b + y1[-1] * 0.001, round(b, 4), ha='center', va='bottom', fontsize=9)
plt.show()

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)