求解,函数拟合碰到的问题
mathematica吧
全部回复
仅看楼主
level 8
Repentanze 楼主
In[1]:= data1 = {{0 \[Degree],
3351.49}, {N[FromDMS[{6, 32, 0}] Degree],
3325.30}, {N[FromDMS[{13, 49, 0}] Degree],
3249.18}, {N[FromDMS[{26, 33, 30}] Degree],
2948.74}, {N[FromDMS[{32, 51, 0}] Degree], 2789.13}}
Out[1]= {{0, 3351.49}, {0.114028, 3325.3}, {0.241146,
3249.18}, {0.46353, 2948.74}, {0.573341, 2789.13}}
In[23]:= NonlinearModelFit[data2,
579.1/Sin[(ArcSin[a + Sin[m]] + ArcSin[a - Sin[m]])/2], a, m]
\:6B63\:5728\:8BA1\:7B97In[23]:= NonlinearModelFit::nrlnum: 在 {a} = {1.} 处,函数值 {-2772.39+0. I,-2747.14
+3
2.9454 I,-2674.22+69.1492 I,-2384.3+129.46 I,-2231.74+157.064 I} 不是由实数组成的维度为 {5} 的列表.
Out[23]= NonlinearModelFit[{{0, 3351.49}, {0.114028,
3325.3}, {0.241146, 3249.18}, {0.46353, 2948.74}, {0.573341,
2789.13}},
579.1 Csc[1/2 (ArcSin[a - Sin[m]] + ArcSin[a + Sin[m]])], a, m]
2021年04月15日 11点04分 1
level 9
假定一下a的范围可以求出来,比如假定a>1等。
出来的效果不好,约等于没求
NonlinearModelFit[data1, {579.1/
Sin[(ArcSin[a + Sin[m]] + ArcSin[a - Sin[m]])/2], a > 2}, a, m]
建议换一换拟合函数或者用内插一劳永逸
2021年04月15日 15点04分 6
正解,感谢[怒](前两天被封禁了)
2021年04月20日 09点04分
1