mathematica非线性拟合拟合的形式是Log((5.47-2*a+y)/(4*y-2*a))=1/150*b*x ,我有一批x相应y的数据,想求参数a、b.用mathematica应该怎么写啊?(包括x、y的录入方式也不知道.)
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/02 02:06:45
![mathematica非线性拟合拟合的形式是Log((5.47-2*a+y)/(4*y-2*a))=1/150*b*x ,我有一批x相应y的数据,想求参数a、b.用mathematica应该怎么写啊?(包括x、y的录入方式也不知道.)](/uploads/image/z/5255593-25-3.jpg?t=mathematica%E9%9D%9E%E7%BA%BF%E6%80%A7%E6%8B%9F%E5%90%88%E6%8B%9F%E5%90%88%E7%9A%84%E5%BD%A2%E5%BC%8F%E6%98%AFLog%28%285.47-2%2Aa%2By%29%2F%284%2Ay-2%2Aa%29%29%3D1%2F150%2Ab%2Ax+%2C%E6%88%91%E6%9C%89%E4%B8%80%E6%89%B9x%E7%9B%B8%E5%BA%94y%E7%9A%84%E6%95%B0%E6%8D%AE%2C%E6%83%B3%E6%B1%82%E5%8F%82%E6%95%B0a%E3%80%81b.%E7%94%A8mathematica%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E5%86%99%E5%95%8A%3F%EF%BC%88%E5%8C%85%E6%8B%ACx%E3%80%81y%E7%9A%84%E5%BD%95%E5%85%A5%E6%96%B9%E5%BC%8F%E4%B9%9F%E4%B8%8D%E7%9F%A5%E9%81%93.%EF%BC%89)
mathematica非线性拟合拟合的形式是Log((5.47-2*a+y)/(4*y-2*a))=1/150*b*x ,我有一批x相应y的数据,想求参数a、b.用mathematica应该怎么写啊?(包括x、y的录入方式也不知道.)
mathematica非线性拟合
拟合的形式是Log((5.47-2*a+y)/(4*y-2*a))=1/150*b*x ,我有一批x相应y的数据,想求参数a、b.用mathematica应该怎么写啊?(包括x、y的录入方式也不知道.)
mathematica非线性拟合拟合的形式是Log((5.47-2*a+y)/(4*y-2*a))=1/150*b*x ,我有一批x相应y的数据,想求参数a、b.用mathematica应该怎么写啊?(包括x、y的录入方式也不知道.)
data = {{1, 1.81747}, {2, 1.8204}, {3, 1.82137}, {4, 1.82186}, {5, 1.82216}, {6, 1.82235}, {7, 1.82249}, {8, 1.8226}, {9, 1.82268}, {10, 1.82275}, {11, 1.8228}, {12, 1.82284}, {13, 1.82288}, {14, 1.82291}, {15, 1.82294}, {16, 1.82297}, {17, 1.82299}, {18, 1.82301}, {19, 1.82302}, {20, 1.82304}};
solu = Flatten[Solve[Log[10,(5.47 - 2 a + y)/(4 y - 2 a)] == 1/(150 b x), y]];
fitparameter = (FindFit[data, y /. solu, {a, b}, x])
fit = y /. solu /.fitparameter;
Show[ListPlot[data, PlotStyle -> Red], Plot[fit, {x, 1, 20}]]
将上述代码中的data输入成你需要的数据点即可,最后一行代码中的{x, 1, 20}用来调整画图的定义域范围