查看: 127|回复: 2|关注: 0

[已解决] 怎样用if语句删除mesh图里不需要的点?

[复制链接]

新手

22 麦片

财富积分


050


15

主题

25

帖子

0

最佳答案
代码如下,我需要让根号下内容<0的点的函数值rou=0,或者不显示,怎么用if或者其他语句删除这部分图像?
注:当x<1000时,根号下内容<0,应该怎样删除这部分点?

r0=400:100:2000;
x=4.23:20./16:24.23;
x=deg2rad(x);
[R0,X]=meshgrid(r0,x)
rou=7378.14.*sin(X)+sqrt((6378.14+R0).^2-7378.14.^2.*cos(X).*cos(X));

                                      
mesh(r0,x,rou);

%要z=z(x,y)的z是矩阵的解决方法:让x,y是矩阵
%遗留问题:写循环语句,当根号下<0时,让rou=0



回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

入门

245 麦片

财富积分


50500


3

主题

394

帖子

51

最佳答案
  • 关注者: 15
发表于 2020-10-11 15:05:41 | 显示全部楼层 |此回复为最佳答案
函数乘上逻辑矩阵就可以了,见下:
r0=400:100:2000;
x=4.23:20/16:24.23;
x=deg2rad(x);
[R0,X]=meshgrid(r0,x);
rou=(7378.14.*sin(X)+sqrt((6378.14+R0).^2-7378.14.^2.*cos(X).*cos(X))).*((6378.14+R0).^2-7378.14.^2.*cos(X).*cos(X)>=0);

                                      
mesh(r0,x,rou);
回复此楼 已获打赏: 0 积分

举报

新手

22 麦片

财富积分


050


15

主题

25

帖子

0

最佳答案
 楼主| 发表于 2020-10-11 15:54:07 | 显示全部楼层
Leedear 发表于 2020-10-11 15:05
函数乘上逻辑矩阵就可以了,见下:
r0=400:100:2000;
x=4.23:20/16:24.23;

巨感谢!!逻辑矩阵原来这么用,受教了
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表