본문 바로가기
Programming/Matlab, Octave, Scilab

[Matlab/Octave] 가중치 함수(weight function) 만들기

by 도파공 2010. 5. 1.
728x90
반응형
% Weight Function using randi function



weight_v=95; % 1~100 범위의 정수 랜덤함수

                   % 91까지는 결과가 바로 나타나나 90이하에서는 결과를 장담할 수 없다.

w_val=100-weight_v;

wtmp1=ones(1,100); % 100을 기준으로 1의 값을 채운 변수
wtmp2=zeros(1,100); % 100을 기준으로 0의 값을 채운 변수



tmp=1; 초기 값
count=0; 초기 값

while tmp~=0
    wadd=randi(100,1,w_val);
    wadd=sort(wadd);
   
    for ii=1:w_val-1
        for jj=1:w_val-1
            if ii==jj
                continue;
            elseif wadd(ii)==wadd(jj) % 동일한 값이 발견되면 count에 1을 입력한다.
                    count=1;
            end % endif - octave
        end % endfor - octave
    end % endfor - octave
       
    if count~=1 % 만들어진 값이 모두 다른 값인 경우 tmp에 0을 입력한다. 즉 while 문 종료!
        tmp=0;
    end % endif - octave
end %endwhile - octave


for i=1:w_val % wtmp1의 변수에 가중치를 반영한다.
    wtmp1(1,wadd(i))=wtmp2(1,wadd(i));
end % endfor - octave



wtmp1 % 데이터 출력....

 

728x90
반응형

댓글