関数近似 - MATLAB で 3 次元データを最もよく近似する平面方程式を見つけるにはどうすればよいですか?

okwaves2024-01-25  9

MATLAB には次の 3 次元データがあります:

tau = [6e-9 30e-12 6e-9 30e-12];
E=[1e-3 50e-6 .01 1e-3];
k=[6.93774E-08 1.23666E-08 4.45261E-08 1.90789E-08];
plot3(tau, E, k,'*'); xlabel('tau (s)'); ylabel('Energy (J)'); zlabel('k'); 

プロットが次のようになっていることがわかります。

このデータを近似する平面の方程式はどのように見つけますか (つまり、k はタウと E の関数なので、最小でデータに最もよく適合する k(tau,E) = の式を探しています。二乗の意味。).

MATLAB でこれを行う簡単な方法はありますか?



------------------------

単純な最小二乗解を実行できます。

tau = [6e-9 30e-12 6e-9 30e-12];
E = [1e-3 50e-6 .01 1e-3];
k = [6.93774E-08 1.23666E-08 4.45261E-08 1.90789E-08];

A = [tau; E; ones(size(E))]';
b = k';

beta = A\b;

[X, Y] = meshgrid(linspace(min(tau), max(tau), 20),...
    linspace(min(E), max(E), 20));

Z = beta(1)*X + beta(2)*Y + beta(3);

plot3(tau, E, k,'o', 'markerfacecolor', 'b'); 
xlabel('tau (s)'); ylabel('Energy (J)'); zlabel('k'); hold on;
mesh(X, Y, Z, 'edgecolor', 'k');

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。