making the value as 0
조회 수: 8 (최근 30일)
이전 댓글 표시
I have a matrix of 100x100,for ex let us assume 3x3 matrix
A=[2 4 5
6 8 9
1 3 4 ]
now i want to make some matrix as zero,i.e
A1=[2 0 5
0 8 9
1 3 0 ]
A2=[0 0 5
6 8 9]
0 3 4]
please help,like these i need 10 values F A1...A10
댓글 수: 0
채택된 답변
Andrei Bobrov
2012년 2월 1일
A=[2 4 5
6 8 9
1 3 4 ]
n = numel(A);
A1_10 = repmat(A,[1,1,10]);
k = arrayfun(@(j1)randperm(n,3)',(1:10),'un',0);
A1_10(bsxfun(@plus,[k{:}],0:n:n^2))=0
OR
A=[2 4 5
6 8 9
1 3 4 ]
n = numel(A);
A1_10 = repmat(A,[1,1,10]);
k = cell2mat(arrayfun(@(j1)randperm(n)',(1:10),'un',0));
A1_10(bsxfun(@plus,k(1:3,:),0:n:n^2))=0
OR
A=[2 4 5
6 8 9
1 3 4 ]
n = numel(A);
A1_10 = repmat(A,[1,1,10]);
t = ones(size(A));
for j1 = 1:size(A1_10,3)
p = t;
k = randperm(n);
p(k(1:3)) = 0;
A1_10(:,:,j1) = A1_10(:,:,j1).*p;
end
OR
A=[2 4 5
6 8 9
1 3 4 ]
A1_10 = repmat(A,[1,1,10]);
A1_10(rand(size(A1_10))<.3) = 0;
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!