作者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