Design patterns Mathematica:加工配合参数
我想访问非线性模型拟合的拟合参数。这是密码Design patterns Mathematica:加工配合参数,design-patterns,wolfram-mathematica,rule,data-fitting,Design Patterns,Wolfram Mathematica,Rule,Data Fitting,我想访问非线性模型拟合的拟合参数。这是密码 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
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
提前谢谢 嗯,你可以写
x = a/.{a -> 1, b -> 2, c -> -3}
它将a
的值分配给x
我不完全确定您是否应该这样做,您可以简单地将规则列表存储在变量中,并在需要时从中提取位。我是否可以建议另一种方法:
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。瞧。你想要什么
x = fit["BestFitParameters"][[1]][[2]]
这将检索->1的右侧。使用
x=fit[“BestFitParameters”][[1]][[1]]]
将检索左手边(“a”,在本例中)而此代码片段可能会解决问题,真正有助于提高您的帖子质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!