y=f(x,y)の曲​線近似はどうすればで​きますか?

9 Ansichten (letzte 30 Tage)
Shuichi Nagamatsu
Shuichi Nagamatsu am 14 Mär. 2023
Kommentiert: Shuichi Nagamatsu am 17 Mär. 2023
xとyが1対1対応しているデータで
例えば y = a*x + b*exp(x-y) + c*(x+y) 等の関数として与えられたときに
fit関数などで曲線近似することは可能でしょうか?

Antworten (1)

Hernia Baby
Hernia Baby am 16 Mär. 2023
ですかね?
方法は2つあると考えています。
  1. 曲線フィッターを使用する方法
  2. fittypeで定義してfitで近似する方法
曲面近似より、"poly23"をカスタム関数にすればいけると思います
load franke
f = fit([x y],z,"poly23")
Linear model Poly23: f(x,y) = p00 + p10*x + p01*y + p20*x^2 + p11*x*y + p02*y^2 + p21*x^2*y + p12*x*y^2 + p03*y^3 Coefficients (with 95% confidence bounds): p00 = 1.118 (0.9149, 1.321) p10 = -0.0002941 (-0.000502, -8.623e-05) p01 = 1.533 (0.7032, 2.364) p20 = -1.966e-08 (-7.084e-08, 3.152e-08) p11 = 0.0003427 (-0.0001009, 0.0007863) p02 = -6.951 (-8.421, -5.481) p21 = 9.563e-08 (6.276e-09, 1.85e-07) p12 = -0.0004401 (-0.0007082, -0.0001721) p03 = 4.999 (4.082, 5.917)
plot(f,[x y],z)
  1 Kommentar
Shuichi Nagamatsu
Shuichi Nagamatsu am 17 Mär. 2023
回答ありがとうございます。
質問の本筋は、[x,y]のデータ群でyの値を示す関数がy=f(x,y)のように、
再帰的にyが含まれる関数の場合のカーブフィットのやり方でした。
ご回答を参考に曲面近似を[x,y,z(=y)]として
フィッティングすることで解決できそうです。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Curve Fitting Toolbox 入門 finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!