这听起来像是一个老问题。我以为我知道代码,但运行它并没有给我预期的值。
我的问题是:
目标函数:f = C / (x ^ p * y ^ q)
(如果你对机械加工有所了解,你可以说这是泰勒的刀具寿命方程)
x
并且y
是自变量;f
是因变量;C
,p
和q
是系数。
我有如下三组([x, y], f)
值,请参阅“exp_result”。
我正在寻找最适合这三组值的曲面。
这是我的代码:
通过运行它,我得到:
C 1.224E4
p 2.025
q 5.688
所以我的最佳拟合曲面方程是T = 1.224E4 / (x ^ 2.025 * y ^ 5.688)
。
不过,至少我发现这个方程更适合三组数据:
T = 9.83E7 / (x ^ 3.39 * y ^ 2.63)
.
通过插入x
's 和y
's,我可以更接近f
's 使用这个等式。有人知道我在哪里做错了吗?
任何建议表示赞赏。谢谢!
exp_result = [153.6 0.51 22.47; 192.01 0.61 6.52; 230.42 0.51 5.58];
f_exp = fittype('C / (x ^ p * y ^ q)', 'coefficients', {'C', 'p', 'q'}, 'independent', {'x', 'y'}, 'dependent', {'f'});
f_exp_coef = fit([exp_result(:,1), exp_result(:, 2)], exp_result(:, 3),f_exp);