【问题标题】:Matlab surface plot (with unusual input)Matlab 曲面图(输入异常)
【发布时间】:2016-03-27 21:39:34
【问题描述】:

我希望使用以下数据在 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);

【问题讨论】:

  • 那么到底是什么问题?

标签: matlab


【解决方案1】:

你在这里错过了一个非常简单的技巧。你得到4x3矩阵-XY。您只需以正确的格式排列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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多