Log-Log Graph,Matlab上的曲线拟合

时间:2018-05-30 09:32:01

标签: matlab

我正在尝试使用Matlab验证我的工程工作。我有一系列x和y数据,我已经在Log-Log Graph上绘制了这些数据。

结果是曲线。

我需要做的是将曲线拟合应用于此图形,并显示拟合方程式是什么?

我在这里尝试了其他答案并尝试使用polyfit和polyval,但他们并没有真正做我需要的东西,但我缺乏的是立即理解。

亲切的问候

2 个答案:

答案 0 :(得分:0)

polyfit应用于logxlogy而不是xy,然后使用适合的结果应用polyval log(x)并在结果上使用exp()来获得实际拟合y

logx = log(x);
logy = log(y);

fitp = polyfit(logx, logy, n);

newy = exp(polyval(fitp, log(newx)));

答案 1 :(得分:0)

在对数空间中拟合可能是不合需要的。您最有可能希望显示最适合数据的等式,而不是数据转换。结果,我将拟合线性数据,然后根据需要将其转换为可视化。如果这是可以接受的,polyfit和polyval应该可行。

如果您认为在日志空间中的拟合很重要,我之前使用过lsqcurvefit,但这需要优化工具箱以及您想要适合哪种函数的一些想法(即您的数据最好用10表示) ^ x或x ^ 2?)。还有曲线拟合工具箱,如果存在可以通过GUI交互式识别但不易于识别的问题,可能值得研究。这提供了一个“适合”的功能,也可能有用。