【问题标题】:Define the region offunction in mesh MATLAB在网格 MATLAB 中定义函数区域
【发布时间】:2021-05-29 07:50:21
【问题描述】:

我想在 MATLAB 中为区域 x^2+y^2<=1 绘制 z=sqrt(1-x^2-y^2) 的 3D 图。

clear all;
clc;
x=-1:0.05:1;
y=-1:0.05:1;
[X,Y]=meshgrid(x,y);
Z=sqrt(1-X.^2-Y.^2);
mesh(X,Y,Z);

我不知道如何定义区域x^2+y^2<=1,因为在mesh 中我们无法定义函数区域。如何定义?

【问题讨论】:

    标签: matlab plot matlab-figure


    【解决方案1】:

    这是一种解决方案(在 Octave 中测试过,但应该可以在 MATLAB 中使用)。我将XY 的值缩放到单位磁盘中。

    clear all;
    clc;
    x=-1:0.05:1;
    y=-1:0.05:1;
    [X,Y]=meshgrid(x,y);
    R = sqrt(1+(min(abs(X),abs(Y))./max(abs(X),abs(Y))).^2);
    R(R==0) = 1;
    X = X ./ R;
    Y = Y ./ R;
    Z = real(sqrt(1-X.^2-Y.^2));
    mesh(X,Y,Z);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多