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

40 views (last 30 days)
Shuichi Nagamatsu
Shuichi Nagamatsu on 14 Mar 2023
Commented: Shuichi Nagamatsu on 17 Mar 2023
xとyが1対1対応しているデータで
例えば y = a*x + b*exp(x-y) + c*(x+y) 等の関数として与えられたときに
fit関数などで曲線近似することは可能でしょうか?

Answers (1)

Hernia Baby
Hernia Baby on 16 Mar 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 Comment
Shuichi Nagamatsu
Shuichi Nagamatsu on 17 Mar 2023
回答ありがとうございます。
質問の本筋は、[x,y]のデータ群でyの値を示す関数がy=f(x,y)のように、
再帰的にyが含まれる関数の場合のカーブフィットのやり方でした。
ご回答を参考に曲面近似を[x,y,z(=y)]として
フィッティングすることで解決できそうです。
ありがとうございました。

Sign in to comment.

Categories

Find more on Curve Fitting Toolbox 入門 in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!