숫자가 반복되는 배열에서 행을 찾고 고유 한 행으로 대체하는 기능이 있습니다. 여기 함수이다고유 한 행이 다릅니다.
NVAR = 고유 행
PVBu의 파라미터의 개수는 기본
function [A]=nonrepeatuniquerow(A,NVAR,PVBu)
HM = zeros(1,NVAR);
p = zeros(1,PVBu);
for j = 1
p(1:PVBu) = 1:PVBu;
for k = PVBu:-1:PVBu-NVAR+1
q = ceil(k*rand);
HM(j,PVBu-k+1) = p(q);
p(q:k-1) = p(q+1:k);
end
end
b = any(~diff(sort(A,2),1,2),2) | any(A==0,2);
A(b,:) = repmat(HM,sum(b),1);
end
의해 1
하한 행 번호의 상한 인 = 예를 들어,
[9 1 7]은 임의로 생성 된 고유 한 행이라고 가정합니다.
매트릭스 A는 'nonrepeatuniquerow'함수에 전달됩니다.
A= [2 3 3
2 5 2
1 5 9
9 7 6]
그리고 출력
은 다음과 같습니다A= [9 1 7
9 1 7
1 5 9
9 7 6]
내 질문은 서로 다른 고유 한 행함으로써 반복 수를 갖는 행을 대체 할 방법 기능을 수정하는 것입니다? 유일한 고유 행이 호출 될 때마다 생성
A= [7 2 3
2 1 8
1 5 9
9 7 6]
함수 아래에 다음과 같이
는 예를 들어 출력이 될 수있다.
NVAR은 = 고유 행
PVBu에서 매개 변수의 수는 기본
function [HM]=generateunique(NVAR,PVBu)
HM = zeros(1,NVAR);
p = zeros(1,PVBu);
for j = 1
p(1:PVBu) = 1:PVBu;
for k = PVBu:-1:PVBu-NVAR+1
q = ceil(k*rand);
HM(j,PVBu-k+1) = p(q);
p(q:k-1) = p(q+1:k);
end
end
end
에 의해 1
하한 행의 수의 상한이다 = 내가 크게 도움을 부탁드립니다 이 문제를 해결해 주시겠습니까?
아 좋아, 내가 이해 다음 코드를 당신에게 줄 것이라고
에 의해 고유의 임의의 순서를 만들 수 있습니다! 친절한 답변을 해주셔서 감사합니다. 제 질문에 완전히 대답 할 수있는 시간을 갖는 것이 좋습니다. 코드는 훌륭하게 작동합니다! 도와 주셔서 정말 고맙습니다. –