用matlab将满足条件的点画出

有2000多个三维坐标数据,每个三维数据都有一个编号,问题是需要筛选出满足条件的数据。(数据保存在Excel表格中,有四列,一列为编号,一列为x坐标数值,一列为y坐标数值,一列为z坐标数值)
(比如条件为:“(x-1)+y^3+z^e<cos5”的所有三维坐标)
并且求出这些坐标的编号。

你好同学,你的xlsx中首先读入数据,然后比较,最后得到编号:

clc;clear
T = readtable('YourExcel.xlsx','readvariablenames',false); % 自己根据实际改xls的文档名
nos = T{:,1}; %编号
x = T{:,2}; % x
y = T{:,3}; % y
z = T{:,4}; % z
q = (x-1)+y.^3+z.^(exp(1))<cos(5); % 求出满足条件的逻辑数组
nos = nos(q); % 这样之后nos就是满足上述条件表达式的编号了
x = x(q); % 满足条件的x
y = y(q); % 满足条件的y
z = z(q); % 满足条件的z
% 你要是愿意的话还可以输出满足条件的数据到表格
writetable(table(nos, x,y,z),'output.xlsx');

答题中看到了一个字母e,这里我把它当作自然对数的底来看待了。

% 数据 XYZ
e = exp(1);
ind = XYZ(:,1) - 1 + XYZ(:,2) .^3 + XYZ(:,3).^(e) < cos(5);  % 满足要求的下标
x = XYZ(ind,1);  % 满足要求的坐标
y= XYZ(ind,2);
z = XYZ(ind,3);

a