matlab之如何将矩阵特定位置的元素置零?

特定位置的情况有很多, 比如画一个圆, 一个角等.
这里以把矩阵的一个角置零作为例子.

假设有一个矩阵如下图:
在这里插入图片描述
我们想把他的左下角元素置零. 比如:
在这里插入图片描述
那么第一步, 建立一个和矩阵A大小相等的座标系.

xAxis = [0:5];
yAxis = [0:6];
[X,Y] = meshgrid(xAxis,yAxis);

第二步, 定义要置零的位置
比如这里我们可以用y=4-x来表示分界线, 那么要置零的部分就是y<4-x

第三步, 创建一个和矩阵A大小相等的矩阵B.

B = Y-4X;

此时, 左下角的矩阵小于零, 左上角大于零.

第四步, 矩阵进行0-1化.

B(B<0)=0;
B(b>0)=1;

第五步, 两矩阵相乘.

C=A.*B;

注意, 这里的乘是点乘, 代表对应位置相乘, 不是矩阵的相乘.

总结一下:

  1. 建立一个和矩阵A大小相等的座标系
  2. 定义要置零的位置
  3. 创建一个和矩阵A大小相等的矩阵B.
  4. 矩阵进行0-1化
  5. 两矩阵相乘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章