回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个cosinus形状的数据集。我试着用函数拟合这个数据集:</p>
<pre><code>a.cos(b-psi)+c
</code></pre>
<p>我的目标是估计最符合我的数据的参数a、b和c。所以我试着用西皮·莱斯特斯要将此最小化:<code>data-a.cos(b-psi)+c</code>。在</p>
<p>(psi与数据一起找到)。在</p>
<p>我的初始参数是<code>ndarray x (x=np.array([a0,b0,c0]))</code>,我的数据存储在一个元组<code>args=(psi,data)</code>,我有我的函数:</p>
^{pr2}$
<p>然后我发射西皮·莱斯特斯使用以下行:</p>
<pre><code>xopt = leastsq(coreg.func,x0,args,full_output=1)
</code></pre>
<p>(初始参数:)</p>
<pre><code>Out[30]: array([ 3.8, 1.3, 0. ])
</code></pre>
<p>但结果是:</p>
<pre><code>(array([ 3.8, 1.3, 0. ]),
None,
{'fjac': array([[ nan, nan, nan, ..., nan, nan, nan],
[ nan, nan, nan, ..., nan, nan, nan],
[ nan, nan, nan, ..., nan, nan, nan]]),
'fvec': array([-3.17913524, -2.19610415, -2.06748506, ..., 1.76355583,
2.32077375, 2.89394884]),
'ipvt': array([1, 2, 3], dtype=int32),
'nfev': 4,
'qtf': array([ nan, nan, nan])},
'The cosine of the angle between func(x) and any column of the\n Jacobian is at most 0.000000 in absolute value',
4)
</code></pre>
<p>我不知道为什么它不能计算雅可比,我想这就是为什么它给我返回的参数和我最初输入的一样。在</p>
<p>如果有帮助,下面是每个对象的值:</p>
<pre><code>Variable Type Data/Info
--------------------------------
args tuple n=2
np module <module 'numpy' from '/us<...>ages/numpy/__init__.pyc'>
psi ndarray 1201x1201: 1442401 elems, type `float64`, 11539208 bytes (11 Mb)
data ndarray 1201x1201: 1442401 elems, type `float64`, 11539208 bytes (11 Mb)
x ndarray 3: 3 elems, type `float64`, 24 bytes
</code></pre>