i want to code the following such that the negative values get saved in zerocoeff and then the negative values becomes zero . I have tried something but i m still getting an empty zerocoeff .
조회 수: 4 (최근 30일)
이전 댓글 표시
for i5=1:vdim*rdim
v(i5)=w(i5)+alpha(i5)*w(i5);
if v(i5)<0
zerocoeff = v(i5<0);
v(i5)=0;
else
v(i5)=v(i5);
end
end
댓글 수: 0
채택된 답변
Jan
2017년 8월 29일
편집: Jan
2017년 8월 29일
What is the intention of "v(i5)=v(i5)"?
Do you need a loop?
v = w + alpha .* w;
lt0 = (v < 0);
zerocoeff = v(lt0);
v(lt0) = 0;
Please use the debugger to examine what happens in your code. Set a breakpoint and step through the program line by line. Then you will see problems like "v(i5<0)", where the value of the index is checked, and not the value of the vector v.
Note that zerocoeff = v(i5<0) overwrites zerocoeff in each iteration.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!