matlab中可以用NaN来去掉部分图像,但是怎么使用呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中可以用NaN来去掉部分图像,但是怎么使用呢?相关的知识,希望对你有一定的参考价值。

在图形绘制语句中,若函数为NaN,则相应的部分不绘制出来,试利用该规律绘出z=sinxy的表面图,并剪切下 x^2+y^2=0.5^2 的部分。

参考技术A x = linspace(-1,1,100);

y = x;

[X,Y] = meshgrid(x,y);

Z = sin(X .* Y);

Z( (X.^2 + Y.^2 <= 0.5.^2) ) = NaN;

mesh(x, y, Z);本回答被提问者采纳
参考技术B 采用下面的代码进行使用。
向量a是否存在NaN,用any(isnan(a)):
>> any(isnan([1 nan]))
ans =
1
>> any(isnan([1 2]))
ans =
0

matlab 图片无值NaN部分显示为白色

方法一:

原始数据中有许多无值NaN,但直接用imagesc显示会变成最小的颜色,找了许久发现个最好的办法。

h=imagesc(C)
set(h,‘alphadata‘,~isnan(C))


%%%%%%
方法二:
其实也可以在colorbar 上直接修改,右键图片旁边的colorbar选择颜色图编辑器,

点击最后一个标签,然后编辑-编辑标记颜色-选择白色
大功告成~~~
————————————————
版权声明:本文为CSDN博主「y3254321」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/y3254321/article/details/71172514

以上是关于matlab中可以用NaN来去掉部分图像,但是怎么使用呢?的主要内容,如果未能解决你的问题,请参考以下文章

matlab 如何用插值给NAN赋值

关于matlab中nan读取的问题

怎么用matlab把压缩成tiff

matlab三维图剪切掉其中一部分,如何操作?

Matlab中非Nan-Sparse变换马赛克图像的有效混合

matlab 如何用插值给NAN赋值