gpt4 book ai didi

matlab - 如何在 matlab 上绘制 3d 不等式

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:58 28 4
gpt4 key购买 nike

<分区>

我想在 MATLAB 中绘制一个由一组不等式界定的 3d 区域。

例如:

0 <= x <= 1

sqrt(x) <= y <= 1

0 <= z <= 1 - y

我发现有人在此站点上完成了一个 2d 示例,但我不确定如何将其转换为 3d。 How to plot inequalities .

编辑:在@Tobold 的帮助下,我修改了代码以将绘制的点限制为所有三个区域定义的点,但它仅绘制 2 或 3 个点。看起来向量 X1、Y1 和 Z1 中的点是正确的,但由于某种原因它只绘制了几个点。知道为什么它只绘制 X1、Y1 和 Z1 向量中的几个点而不是所有的点吗?

[X,Y,Z]=meshgrid(0:0.1:1,0:0.1:1,0:0.1:1); % Make a grid of points between 0 and 1
p1=0.1; p2=0.2; % Choose some parameters
X1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
Y1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
Z1 = (X >= 0 & X <= 1) & (Y >= sqrt(X) & Y <= 1) & (Z >= 0 & Z <= 1 - Y);
ineq1 = (X >= 0 & X <= 1) * 2;
ineq2 = (Y >= sqrt(X) & Y <= 1) * 4;
ineq3 = (Z >= 0 & Z <= 1 - Y) * 8;
all = ineq1 & ineq2 & ineq3;
colors = zeros(size(X))+ineq1+ineq2+ineq3;
scatter3(X1(:),Y1(:),Z1(:),3,colors(:)','filled')

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