Fitting 3-d plot
4 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I've been plotting a surface plot using surf(x, y, z) where x is a 1 x 8 double, y is a 1 x 11 double and z is an 11 x 8 double and fitting that surface using cftool with no issues. I now need to change my approach slightly and perform the fit programatically (as opposed to using cftool).
However surffit = fit([x,y],z,'poly32','normalize','on') does not accept my current format. How I can I adjust or massage my raw data (x, y and z) for surffit to accept it?
Thanks
0 件のコメント
採用された回答
the cyclist
2023 年 8 月 27 日
x = 1:8;
y = 1:11;
z = rand(11,8);
[xx,yy] = meshgrid(x,y);
surf(xx,yy,z)
3 件のコメント
the cyclist
2023 年 8 月 27 日
Sorry, I should have mentioned that the surface fitting function requires you to turn all those matrices into vector again. The key concept being that all the vectors need to be the same length, and specify a series of (x,y,z) coordinates.
You should double-check that my syntax really put the correct z with the corresponding (x,y). It's easy to get the (x,y) swapped.
x = 1:8;
y = 1:11;
z = rand(11,8);
[xx,yy] = meshgrid(x,y);
surf(xx,yy,z)
surffit = fit([xx(:), yy(:)], z(:), 'poly32', 'normalize', 'on')
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Get Started with Curve Fitting Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!