gpt4 book ai didi

MATLAB - 冲浪图数据结构

转载 作者:行者123 更新时间:2023-12-02 15:25:32 25 4
gpt4 key购买 nike

我用两种不同的方法进行了计算。对于这些计算,我改变了 2 个参数:x 和 y

最后,我针对每种变体计算了两种方法之间的 % ERROR。现在我想根据结果创建一个 3D 曲面图:

x -> on x axis
y -> on y axis
Error -> on z axis

这是一个数据示例:

A = [
-0.1111 1.267 9.45680081826912
-0.1111 2.6 212.361735695025
-0.25 1.533 40.5729362609655
-0.25 2.867 601.253624894196
-0.4286 1 0.12116749607863
-0.4286 3.4 79.6948438921078
-0.6667 2.067 33.3495544017519
-0.6667 3.667 141.774875517481
-1 2.6 -0.0399171449531781
0.09091 1.533 163.7083541414 ];

但是,当我尝试使用 surf 函数绘制它时:

x = A(:,1);
y = A(:,2);
z = A(:,3);

surf(x,y,z)

,我得到一个错误:

Error using surf (line 75)
Z must be a matrix, not a scalar or vector
Error in ddd (line 27)
surf(x,y,z)

你能帮我写一段代码,以 surf 函数可接受的格式重组数据吗?

附言- 我目前正在尝试编写一些示例代码,这是我的第一次尝试。我一到某个地方就会发布它。

最佳答案

surf函数需要一个 X,Y 值的网格作为输入。但是,您的数据只是具有某些组合的三个向量,而不是完整的网格。如文档中所述,meshgrid函数通常有助于创建这样的网格矩阵。使用 unique 函数选择 xy 中的所有唯一值,并创建所有可能组合的矩阵:

[X,Y] = meshgrid(unique(x),unique(y));

要创建适合[X,Y] 网格的Z 矩阵,griddata功能很有帮助:

Z = griddata(x,y,z,X,Y);

现在您可以调用 surf 并将网格矩阵作为输入:

surf(X,Y,Z);

关于MATLAB - 冲浪图数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com