我有一个回归系数矩阵。自变量为x, x^2, x^3
,直到x^N
,其中N
是我选择的参数。我想打印一行,说明以下内容。
“回归模型为:y= a1 x+ a2 x^2+ a3 x^3 + ... + x^N
”
必须打印系数矩阵中的数字来代替a1
,a2
等。该代码应同样适用于不同的N
。
答案 0 :(得分:1)
遍历系数列表,并使用每个术语的文本表示形式构建字符串列表,然后将其与“ +”连接起来以创建方程式。
def f(coefficients):
def term(coef, power):
coef = coef if coef != 1 else ''
power = (f'^{power}') if power > 1 else ''
return f'{coef}x{power}'
terms = []
for power, coef in enumerate(coefficients, start=1):
if coef != 0:
terms.append(term(coef, power))
return 'y = ' + ' + '.join(terms)
equation = f([8, 7, 0, -9, 1])
print(equation) # prints 'y = 8x + 7x^2 + -9x^4 + x^5'