첫 번째 질문은 여기에 있습니다.SAS에서 반복적 인 이분법 구현
기본적으로 매크로의 사용을 통해 SAS에서 재귀적인 이분법 알고리즘을 구현하려고합니다. 이미 두 개의 인수 (현재 간격의 하위 끝점과 상위 끝점)를 사용하고 다른 간격의 두 끝점을 포함하는 테이블을 생성하는 매크로를 작성했습니다. 문제는 간격의 너비가 특정 임계 값 이하가 될 때까지이 프로세스를 반복하는 매크로를 작성하는 것입니다.
내가 지금까지 가지고있는 것이지만, 예상대로 코드가 작동하지 않습니다. SAS에 대해 배웠던 모든 것의 99 %를 기억하십시오. 지난 3 일 정도 학습했습니다. 도움을 줄 수있는 사람에게 많은 감사를드립니다! %nextint(&a0,&b0)
하나 명 관찰하고 두 개의 열 및 &a0
&b0
로부터 계산 된 값과 a
b
있는 테이블을 생성 interval
data interval;
input a b;
datalines;
0 1
;
run;
%macro iter(a,b);
data rec;
set interval;
%let a0 = &a;
%let b0 = &b;
%do %while(%sysevalf(&b0 - &a0) > .00001);
%nextint(&a0,&b0);
call symput('a0',trim(left(a)));
call symput('b0',trim(left(b)));
%end;
run;
%mend;
. 아시다시피 SAS는 내게 미스테리입니다. 나는 무엇을하고 있는지 알지 못합니다.
몇 가지 반복을 추가 할 수 있습니까? 또한 nextint가하는 일, 제대로 작동하는지 확인 하시겠습니까? PROC FCMP – Reeza