我想访问NonlinearModelFit的fit-parameters。这是代码
model = a*Cos[b*t + c];
fit = NonlinearModelFit[data, model, {a, b, c}, t, Method -> NMinimize]
当我使用命令时:
fit["BestFitParameters"]
以下列格式返回值:
{a -> 1, b -> 2, c -> -3}
现在我想将a的值存储在变量x
中x=fit["BestFitParameters"][[1]]
但这给出了
x= a -> 1
不,我想知道如何解决“ - > - 运营商”以获取
x=1
提前致谢!
答案 0 :(得分:3)
好吧,你可以写
x = a/.{a -> 1, b -> 2, c -> -3}
将a
的值分配给x
。
我不完全确定你应该这样做,你可以简单地将规则列表存储在变量中,并根据需要从中提取位。
答案 1 :(得分:2)
我可能会建议另一种方法:
C1fitparameters =
Table[{C1fit["BestFitParameters"][[i, 1]], C1fit["BestFitParameters"][[i, 2]]},
{i, 1, Length[C1fit["BestFitParameters"]]}]
返回一个列表:
{{A, 5.11419}, {Beta, 14.2637}, {Omega_0, 174.118}, {Phi, -0.117246}}
所以要访问变量名:
C1fitparameters[[1, 1]]
返回A.并且:
C1fitparameters[[1, 2]]
返回A的值5.11419。瞧。
答案 2 :(得分:1)
你想要
x = fit["BestFitParameters"][[1]][[2]]
这将检索a-> 1的右侧。使用x = fit["BestFitParameters"][[1]][[1]]
将检索左侧(" a",在这种情况下)