Azzera filtri
Azzera filtri

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

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

Risposte (1)

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

Accedi per commentare.

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!