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. 兩矩陣相乘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章