Wolfram mathematica 无法生成适合单变量数据的非线性模型
我试图用实验数据来模拟克尔效应,施加在交叉偏振器上的独立变量电压(U)和光强度(L)之间的关系是L=a*sin(b*U^2),其中a和b是待确定的独立常数Wolfram mathematica 无法生成适合单变量数据的非线性模型,wolfram-mathematica,mathematical-optimization,Wolfram Mathematica,Mathematical Optimization,我试图用实验数据来模拟克尔效应,施加在交叉偏振器上的独立变量电压(U)和光强度(L)之间的关系是L=a*sin(b*U^2),其中a和b是待确定的独立常数 data = {{300, 0.014336918}, {350, 0.023297491}, {400, 0.053763441}, {450, 0.098566308}, {500, 0.172043011}, {550, 0.23297491}, {600, 0.336917563}, {650, 0.336917563
data = {{300, 0.014336918}, {350, 0.023297491}, {400,
0.053763441}, {450, 0.098566308}, {500, 0.172043011}, {550,
0.23297491}, {600, 0.336917563}, {650, 0.336917563}, {700,
0.403225806}, {750, 0.448028674}, {800, 0.480286738}, {850,
0.485663082}, {900, 0.487455197}, {950, 0.476702509}, {970,
0.465949821}, {985, 0.435483871}, {995, 0.415770609}}
nlm = NonlinearModelFit[data, a*Sin (b*(x^2)), {a, b}, x]
但是,我得到以下错误:
NonlinearModelFit::nrlnum: ...
is not a list of real numbers with dimensions {17} at {a,b} = {1.,1.}.
我不熟悉这种语言编程,但我不知道我做错了什么。有什么方法可以构造我的数据使这个函数实际工作吗?阅读文档后,我意识到非线性函数是一种局部迭代近似方法,由于参数b的系数太小,Mathematica无法计算b的值。因此,将函数线性化并替换回原始方程解决了我的问题。阅读文档后,我意识到非线性函数是一种局部迭代近似方法,由于参数b的系数太小,Mathematica无法计算b的值。因此,函数的线性化和替换回到原始方程解决了我的问题。
Sin(b*(x^2))
不是Mathematica语法…使用Sin[b*(x^2)]
Sin(b*(x^2))不是Mathematica语法…使用Sin[b*(x^2)]
。