以下にあるようなretFuncOutput()
を作りたいのですがうまくいきません。
python
1# 1次関数 2def linear(x, a, b): 3 return a*x + b 4 5# 2次関数 6def func2order(x, a, b, c): 7 return a*x**2 + b*x + c 8 9# 3次関数 10def func3order(x, a, b, c, d): 11 return a*x**3 + b*x**2 + c*x + d 12 13# オリジナル指数関数 14def exponent_original(x,a,b,c): 15 return b * np.exp(x / (a+x) ) +c 16 17# 上記フォーマットで書かれた任意の関数のデータリストを作る関数 18def retFuncOutput(x_list, func, coef_list): 19 FuncOutList = [] 20 for x in list_x: 21 FuncOutList.append(func(x, coef_list[0], coef_list[1], coef_list[2], ...)) 22 return FuncOutList 23 24 25# 使用例1: 26x = [0,1,2,3,4] 27coef = [2,-1,3] 28listfunc2order = retFuncOutput(x, func2order, coef ) 29 30# 使用例2: 31x = [0,1,2,3,4] 32coef = [2,-1,3, -5] 33listfunc3order = retFuncOutput(x, func3order, coef ) 34 35 36
retFuncOutput()
の引数coef_list
はfunc
に渡す予定の引数が順番にリストになったものです。
retFuncOutput()
内のcoef_list[0], coef_list[1], coef_list[2], ...
のところをcoef_list
の長さに従って柔軟に展開したいのですが、いい方法はございませんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。