Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在lmfit中用不同数量的gaussianmodel形成一个复合模型类?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想做一个函数,通过添加不同数量的GaussianModel类来生成CompositeModel类</p> <p>我试着把Gausslist求和,它将gauss1替换为gauss6。我也试过用Gausslist来代替mod,但那不起作用</p> <p>原来我有:</p> <pre class="lang-py prettyprint-override"><code>gauss1 = models.GaussianModel(prefix='g1_') pars = gauss1.make_params(center=_259V[0][0], amplitude=_259V[1][0]) gauss2 = models.GaussianModel(prefix='g2_') pars.update(gauss2.make_params(center=_259V[0][1], amplitude=_259V[1][1])) gauss3 = models.GaussianModel(prefix='g3_') pars.update(gauss3.make_params(center=_259V[0][2], amplitude=_259V[1][2])) gauss4 = models.GaussianModel(prefix='g4_') pars.update(gauss4.make_params(center=_259V[0][3], amplitude=_259V[1][3])) gauss5 = models.GaussianModel(prefix='g5_') pars.update(gauss5.make_params(center=_259V[0][4], amplitude=_259V[1][4])) gauss6 = models.GaussianModel(prefix='g6_') pars.update(gauss6.make_params(center=_259V[0][5], amplitude=_259V[1][5])) mod = gauss1 + gauss2 + gauss3 + gauss4 + gauss5 + gauss6 </code></pre> <p>这将给我一个由六个高斯函数组成的模型,但是我想把它推广到当我有更小或更多的函数时。到目前为止,我已经完成了下面的工作,它允许我生成GaussianModels列表(Gausslist),其长度取决于peak\u数据。所以峰值的数量对应于我想要多少高斯数:</p> <pre class="lang-py prettyprint-override"><code>Gausslist = [] Gausslist.append(models.GaussianModel(prefix='g0_')) pars = Gausslist[0].make_params(center=_259V[0][0],amplitude=peak_data[1][0]) for i in range(1, len(peak_data[1])): Gausslist.append(models.GaussianModel(prefix='g{}_'.format(i))) pars.update(Gausslist[i].make_params(center=_259V[0][i], amplitude=peak_data[1][i])) </code></pre> # <p>但我不知道如何应对:</p> <pre class="lang-py prettyprint-override"><code>mod = gauss1 + gauss2 + gauss3 + gauss4 + gauss5 + gauss6 </code></pre> <p>我试着把Gausslist求和,它将gauss1替换为gauss6。我也试过用Gausslist来代替mod,但那不起作用</p> <p>我基本上想添加这些高斯模型来形成一个复合模型,但我不知道如何添加类,或者如果可能的话</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以使用内置的python reduce函数:</p> <pre><code>model = reduce(lambda m1,m2: m1+m2, GaussList) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
1 回答
如何合并多个xarray数据变量及其坐标?
4 回答
如何合并多个列中具有重复值的行
9 回答
如何合并多个唯一id
8 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
2 回答
如何合并多个字典并添加同一个键的值?(Python)
1 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
9 回答
如何合并多个数据帧
2 回答
如何合并多个数据帧并使用Pandas为假人添加列?
6 回答
如何合并多个数据帧并按时间戳排序
3 回答
如何合并多个数据帧的列表并用另一个lis标记每列
3 回答
如何合并多个数据框中的列
4 回答
如何合并多个文件?
6 回答
如何合并多个查询集?
2 回答
如何合并多个绘图?
8 回答
如何合并多个词典
8 回答
如何合并多个输入数据集(数据帧)?
7 回答
如何合并多条记录中拆分的文本行
9 回答
如何合并多索引列datafram
2 回答
如何合并多级(即多索引)数据帧?
10 回答