これは古い質問のように聞こえるかもしれません。コードを知っていると思っていましたが、実行しても期待値が得られません。
私の問題は次のとおりです。
対象関数:f = C / (x ^ p * y ^ q)
(機械加工について少しでも知っていれば、これはテイラーの工具寿命の式であることがわかります)
x
とy
は独立変数です。f
従属変数です。C
、p
およびq
は係数です。
次のように 3 つの([x, y], f)
値のセットがあります。「exp_result」を参照してください。
そして、3 つの値セットに最適なサーフェスを探しています。
これが私のコードです:
それを実行すると、次のようになります。
C 1.224E4
p 2.025
q 5.688
したがって、私のベスト フィット サーフェスの式は ですT = 1.224E4 / (x ^ 2.025 * y ^ 5.688)
。
ただし、少なくとも、この方程式は 3 つのデータ セットによりよく適合することがわかりました
T = 9.83E7 / (x ^ 3.39 * y ^ 2.63)
。
x
とを差し込むことで、この式を使用してy
にさらに近づきます。f
誰が私がどこで間違ったのか考えていますか?
任意の提案をいただければ幸いです。ありがとうございました!
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);