List 概述:ivar“;列表“;不是有效的变量

List 概述:ivar“;列表“;不是有效的变量,list,wolfram-mathematica,List,Wolfram Mathematica,所以我有这个数据,它把浓度和速率联系起来 cAo = {0.1, 0.2, 0.1, 0.2, 0.05, 0.2}(*M*); cBo = {0.1, 0.1, 0.2, 0.2, 0.2, 0.05}(*M*); r = {.0000246, .0000483, .0000501, .0001003, 0000239, .0000262}(*M/s*); 我还得到了一个速率方程,形式为 k*(cAo^a)*(cBo^b)=r 为了找到常数a,b和k,我使用了非线性模型 EQ1 = Non

所以我有这个数据,它把浓度和速率联系起来

cAo = {0.1, 0.2, 0.1, 0.2, 0.05, 0.2}(*M*);
cBo = {0.1, 0.1, 0.2, 0.2, 0.2, 0.05}(*M*);
r = {.0000246, .0000483, .0000501, .0001003, 0000239, .0000262}(*M/s*);
我还得到了一个速率方程,形式为

k*(cAo^a)*(cBo^b)=r
为了找到常数a,b和k,我使用了非线性模型

EQ1 = NonlinearModelFit[Data2, k*(cAo^a)*(cBo^b), {k, a, b}, {cAo, cBo}];
EQ1["BestFit"]
然而,由于某种原因,我不断收到错误
General::ivar:“{0.1,0.2,0.1,0.2,0.05,0.2}不是有效变量。”
这对我来说没有任何意义


提前感谢

一种方法是这样的:

       NMinimize[Total[(k*(cAo^a)*(cBo^b)-r)^2],{a,b,k}]
注意,我现在不能尝试这个。我怀疑您可能需要添加约束,例如:

       NMinimize[{Total[(k*(cAo^a)*(cBo^b)-r)^2],{a>0,b>0,k>0}},{a,b,k}]

一种方法是这样的:

       NMinimize[Total[(k*(cAo^a)*(cBo^b)-r)^2],{a,b,k}]
注意,我现在不能尝试这个。我怀疑您可能需要添加约束,例如:

       NMinimize[{Total[(k*(cAo^a)*(cBo^b)-r)^2],{a>0,b>0,k>0}},{a,b,k}]

不能将
cAo
用作变量,因为它具有指定的值。也许交换最后两个列表可以解决这个问题<出于测试目的,缺少代码>数据2。您不能将
cAo
用作变量,因为它有分配给它的值。也许交换最后两个列表可以解决这个问题<出于测试目的,缺少代码>数据2。