该程序在图形上取4个点并将它们放入拉格朗日多项式。我得到了正确输出的术语,但我需要将4个术语连接成1行代码。无论我在哪里尝试连接,它都会弄乱循环,从而弄乱我的条款。我确信有一种更简单的方法可以做到这一点,但我必须使用字符串和连接来完成我的任务。任何帮助,将不胜感激。感谢。
import string
from math import *
def main():
n=4
abscissa=[-5,-2,3,7]
ordinate=[4,-6,8,1]
for j in range(n):
LP=str(ordinate[j])
denom="1"
for k in range(n):
if k!=j:
denom= denom+"*("+str(abscissa[j])+"-"+str(abscissa[k])+")"
LP=LP+"*(x-"+str(abscissa[k])+")"
LP=LP+'/'+denom
print(LP)
main()
答案 0 :(得分:1)
收集条款并加入条款:
import string
from math import *
def main():
n=4
abscissa=[-5,-2,3,7]
ordinate=[4,-6,8,1]
result = ''
for j,y in enumerate(ordinate):
if j!=0:
result += '+'
LP=str(y)
denom="1"
for k,x in enumerate(abscissa):
if k!=j:
denom += '*({}-{})'.format(abscissa[j],x)
LP += '*(x-{})'.format(x)
LP += '/' + denom
result += LP
print(result)
main()