我的方法是
令一個B矩陣
利用eye和ones函數
做出一個遮罩
再把A矩陣和B矩陣每個元素相乘
不知道有沒有更好的作法
close all
clear all
clc
A = [ 1 2 3 4 5 ;
6 7 8 9 10 ;
11 12 13 14 15 ;
16 17 18 19 20 ;
21 22 23 24 25 ] ;
InitialRow=1 ;
InitialCol=4 ;
row=InitialRow:length(A(:,1))-InitialCol+1 ;
col=InitialCol:length(A(1,:)) ;
B=ones(size(A)) ;
B(row,col)=ones(length(row),length(col))-eye(length(row),length(col)) ;
C=A.*B ;
disp(A) ;
disp(B) ;
disp(C) ;
修改InitialRow和InitialCol
可改變開始第一個變成0的元素的位置
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.103.220
→
02/17 16:21, , 1F
02/17 16:21, 1F
推
02/17 17:31, , 2F
02/17 17:31, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
問題
0
3