MATLAB-在一个图中绘制多个曲面拟合

Vinayakshukl

我有3套3D坐标,并且每套都适合平面。现在,我想在一个图中绘制所有数据点和3个平面。

到目前为止,我具有以下功能:

function [fitresult, gof] = create_fit(xx, yy, zz, grp)

[xData, yData, zData] = prepareSurfaceData( xx, yy, zz );

ft = fittype( 'poly11' );
opts = fitoptions( ft );
opts.Lower = [-Inf -Inf -Inf];
opts.Upper = [Inf Inf Inf];

hold on;
% figure( 'Name', 'fit1' );
[fitresult, gof] = fit( [xData, yData], zData, ft, opts );
h = plot( fitresult, [xData, yData], zData);
if grp == 1
    colormap(hot);
elseif grp == 2
    colormap(cool);
else
    colormap(grey);
end

legend( h, 'fit1', 'zz vs. xx, yy', 'Location', 'NorthEast' );

xlabel( 'xx' );
ylabel( 'yy' );
zlabel( 'zz' );
grid on

但是,这有两个问题:

  1. 当单独绘制平面时,将根据也随其绘制的数据点缩放这些平面。当将平面绘制在一起时,它们的缩放比例很差,并且数据点收敛到一个较小的斑点(与平面相比,比例很小),点已汇聚到很小的区域,但放大时仍保持其形状我尝试使用来解决此问题axis([-0.04 0.04 -0.04 0.04 -0.04 0.04 -1 1]);,但它是经过硬编码的,看上去仍然有些偏离。后轴指令

  2. colormap命令似乎仅在第一次调用时才起作用。因此,所有飞机都变成蓝色。如何为每个平面和为该平面拟合的点着色?

  3. 这是绘制多个平面的最佳方法吗?

拉伯特

编辑

这是我的初始答案的编辑版本。的输出plot是一个包含两个元素的图形对象,因此您必须单独调用h(1)h(2)设置平面和数据点的属性。

这是该函数的代码:

function [fitresult, gof, h] = create_fit(xx, yy, zz, color)

[xData, yData, zData] = prepareSurfaceData( xx, yy, zz );

ft = fittype( 'poly11' );
opts = fitoptions( ft );
opts.Lower = [-Inf -Inf -Inf];
opts.Upper = [Inf Inf Inf];

hold on;
[fitresult, gof] = fit( [xData, yData], zData, ft, opts );

h = plot( fitresult, [xData, yData], zData);

set(h(1), 'FaceColor', color);
set(h(2), 'MarkerFaceColor', color, 'MarkerEdgeColor', 'k');

这是一个调用函数的示例脚本:

% Define sample data
N = 20;
x = rand(1,N);
y = rand(1,N);
z = rand(1,N);

% Call the function, specify color
[f1, gof1, h1] = create_fit(x, y, z, 'r');
[f2, gof2, h2] = create_fit(x, y.^10, z, 'g');
[f3, gof3, h3] = create_fit(x.^10, y, z, 'b');

% Figure adjustments
xlabel( 'xx' );
ylabel( 'yy' );
zlabel( 'zz' );
view(3)
grid on

xlim([min(x) max(x)]);
ylim([min(y) max(y)]);
zlim([min(z) max(z)]);

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MATLAB中的另一个子图中绘制一个子图

来自分类Dev

在Matlab中同时绘制两个不连续的曲面

来自分类Dev

如何在Matlab的一个图形中绘制多个图?

来自分类Dev

如何在MATLAB的一个窗口中绘制多个图形

来自分类Dev

在MATLAB中从一个矩阵绘制多个曲线的明智方法?

来自分类Dev

在MATLAB中的特定图中绘制多个图形

来自分类Dev

一个绘图中的两个图 matlab

来自分类Dev

我可以在一个循环内在多个Matlab图形中进行多个子图绘制吗?

来自分类Dev

在MATLAB GUI中使用另一个图中的一个图中的变量

来自分类Dev

用一个参数绘制函数(MATLAB)

来自分类Dev

如何在matlab中绘制一个透明的圆圈?

来自分类Dev

如何在Matlab的一条语句中从一个绘图中更新多个图形?

来自分类Dev

在Matlab中绘制3D曲面

来自分类Dev

将多个概率图(在 Matlab 中使用 probplot )组合在一个图中,用于不同大小的数组

来自分类Dev

Matlab绘制多个函数

来自分类Dev

Matlab绘制多个函数

来自分类Dev

Matlab 集成拟合“linearinterp”返回错误“第一个输入参数必须是函数句柄”

来自分类Dev

MATLAB 使用矩阵在 3D 中绘制多个曲面图

来自分类Dev

如何在MATLAB中绘制具有两个变量的多项式作为曲面?

来自分类Dev

从图中提取子图以绘制另一个图,并将变量分配给Matlab中的轴标签

来自分类Dev

Matlab将HeatMap拟合到子图中

来自分类Dev

Matlab将HeatMap拟合到子图中

来自分类Dev

Matlab在GUI轴上绘制拟合

来自分类Dev

Matlab在GUI轴上绘制拟合

来自分类Dev

如何在Matlab中使用两个矩阵绘制一个图

来自分类Dev

如何在Matlab中使用两个矩阵绘制一个图

来自分类Dev

在MATLAB中绘制多个系列

来自分类Dev

绘制一个从二维到一维的函数作为热图:Matlab

来自分类Dev

Matlab(如何拟合多个数据集)

Related 相关文章

  1. 1

    在MATLAB中的另一个子图中绘制一个子图

  2. 2

    在Matlab中同时绘制两个不连续的曲面

  3. 3

    如何在Matlab的一个图形中绘制多个图?

  4. 4

    如何在MATLAB的一个窗口中绘制多个图形

  5. 5

    在MATLAB中从一个矩阵绘制多个曲线的明智方法?

  6. 6

    在MATLAB中的特定图中绘制多个图形

  7. 7

    一个绘图中的两个图 matlab

  8. 8

    我可以在一个循环内在多个Matlab图形中进行多个子图绘制吗?

  9. 9

    在MATLAB GUI中使用另一个图中的一个图中的变量

  10. 10

    用一个参数绘制函数(MATLAB)

  11. 11

    如何在matlab中绘制一个透明的圆圈?

  12. 12

    如何在Matlab的一条语句中从一个绘图中更新多个图形?

  13. 13

    在Matlab中绘制3D曲面

  14. 14

    将多个概率图(在 Matlab 中使用 probplot )组合在一个图中,用于不同大小的数组

  15. 15

    Matlab绘制多个函数

  16. 16

    Matlab绘制多个函数

  17. 17

    Matlab 集成拟合“linearinterp”返回错误“第一个输入参数必须是函数句柄”

  18. 18

    MATLAB 使用矩阵在 3D 中绘制多个曲面图

  19. 19

    如何在MATLAB中绘制具有两个变量的多项式作为曲面?

  20. 20

    从图中提取子图以绘制另一个图,并将变量分配给Matlab中的轴标签

  21. 21

    Matlab将HeatMap拟合到子图中

  22. 22

    Matlab将HeatMap拟合到子图中

  23. 23

    Matlab在GUI轴上绘制拟合

  24. 24

    Matlab在GUI轴上绘制拟合

  25. 25

    如何在Matlab中使用两个矩阵绘制一个图

  26. 26

    如何在Matlab中使用两个矩阵绘制一个图

  27. 27

    在MATLAB中绘制多个系列

  28. 28

    绘制一个从二维到一维的函数作为热图:Matlab

  29. 29

    Matlab(如何拟合多个数据集)

热门标签

归档