我希望使用以下数据在matlab中制作3D图:
x = [1,1,1,1,2,2,2,2,3,3,3,3];
y = [1,2,3,4,1,2,3,4,1,2,3,4];
F = [4,5,6,7,5,6,7,8,6,7,8,9]; % for example
其中F = F(x,y),函数为x和y。 (即F(1,1)= 4,F(1,2)= 5,F(1,3)= 6,读下每列。)
想要了解我想要制作的情节:如果我分析地知道函数F(x,y),我将使用以下代码:
xvec = [1,2,3];
yvec = [1,2,3,4];
[X,Y] = meshgrid(xvec, yvec);
Fvalues = F(X,Y); % where F = @(x,y) ... has been defined
surf(X,Y,Fvalues);
答案 0 :(得分:2)
你在这里错过了一个非常的简单技巧。您将获得4x3
矩阵 - X
和Y
。您只需以正确的格式安排F
,然后使用surf
命令。编写代码如下:
xvec = [1,2,3];
yvec = [1,2,3,4];
[X,Y] = meshgrid(xvec, yvec);
%reshaping F
F=reshape(F,4,3);
surf(X,Y,F);