特定位置的情况有很多, 比如画一个圆, 一个角等.
这里以把矩阵的一个角置零作为例子.
假设有一个矩阵如下图:
我们想把他的左下角元素置零. 比如:
那么第一步, 建立一个和矩阵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;
注意, 这里的乘是点乘, 代表对应位置相乘, 不是矩阵的相乘.
总结一下:
- 建立一个和矩阵A大小相等的座标系
- 定义要置零的位置
- 创建一个和矩阵A大小相等的矩阵B.
- 矩阵进行0-1化
- 两矩阵相乘