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。