l = logical([1 0 1 1 ;...
1 1 1 0]);
A = [1 2 3 4;...
5 6 7 8];
A .* l % element-wise multiplication
없는 PROB, 당신은 ;-) 환영 수락, 질문 폐쇄! 의 xD
편집
나는 두려워 유래 모두가 원래 묻는 무슨 관련이없는에도 불구하고, 더 길고 더 자세한 대답을 만들려고 노력에 의해의 다른 답변을 이길하려고 페이지되었다 해요 . 특정 질문에 정확히 적은 시간 안에 빠르고 간단하고 간단한 솔루션을 제공하는 것은 아닙니다. 수에버 (Suever)는 물어 보지 않은 질문에 대답함으로써 즉시 upvote가됩니다. 난 그냥 말하고 싶은
~l*default_value + A.*l
: 하나는 내 솔루션 및 사용을 채택 할 수있다, 당신은 다른 기본 옵션 다음 0을 원한다면 :
나는 또한 게임 내 대답을 편집 할 수 있습니다 그것은 가능합니다.
EDIT2
tic;
for i = 1:1000000
B = A.*l;
end;
toc
>> Elapsed time is 2.18214 seconds.
tic;
for i = 1:1000000
B=zeros(size(A));
B(l)=A(l);
end;
toc
>>Elapsed time is 13.9691 seconds.
자신을 위해 선택합니다.
EDIT3 (기본 값! = 0)
>> tic; for i = 1:1e6; B = A.*l+100*(~l); end; toc
Elapsed time is 4.17261 seconds.
>> tic; for i = 1:1e6; B=100*ones(size(A)); B(l)=A(l); end; toc
Elapsed time is 14.2126 seconds.
출처
2016-06-03 17:16:35
tim
우, 내가 어떻게 그렇게 바보가 될 수 있니? (... 어쨌든 thanks @tim :) – pkj
나는 ans를 받아 들일 것이다. 그러나 나는 보통 사람들이 반응하도록 허용한다. – pkj
@pkj : 잊지 마세요. 더 이상 다른 대답은 없습니다. 그래서 upvote + accept. – tim