作者diva ( )
看板MATLAB
標題Re: [問題] 矩陣特定位置修改數值
時間Fri Feb 17 16:17:44 2012
我的方法是
令一個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
1F:→ diva:啊 樓上方法快好多 orz 02/17 16:21
2F:推 aasubspace:也感謝您。 02/17 17:31