For[n = 1, n < 6, n = n + 1,
For[m = 1, m < 6, m = m + 1, abc = doc[[n]];
kk = doc[[m]];
v =vector[abc, kk];
vl = VectorLength[v]]]
각 루프의 데이터를 배열 또는 테이블 형식으로 저장하려고합니다. 어떻게해야합니까?각 루프의 데이터를 배열 또는 테이블 형식으로 저장하는 방법은 무엇입니까?
For[n = 1, n < 6, n = n + 1,
For[m = 1, m < 6, m = m + 1, abc = doc[[n]];
kk = doc[[m]];
v =vector[abc, kk];
vl = VectorLength[v]]]
각 루프의 데이터를 배열 또는 테이블 형식으로 저장하려고합니다. 어떻게해야합니까?각 루프의 데이터를 배열 또는 테이블 형식으로 저장하는 방법은 무엇입니까?
두 개의 For
루프 대신 Table
을 사용해보십시오. 이 결과 목록의 목록 (기본적으로 매트릭스) 그것은 당신이 저장하려는 데이터 나에게 분명하지 않다
Table[
abc = doc[[n]];
kk = doc[[m]];
v = vector[abc, kk];
vl = VectorLength[v], {n, 1, 5}, {m, 1, 5}]
을 반환하지만이 작업을 수행하는 일반적인 방법은 Sow
및 Reap
을 사용하는 것입니다.
Reap[
For[n = 1, n < 6, n = n + 1, For[m = 1, m < 6, m = m + 1,
abc = doc[[n]];
kk = doc[[m]];
Sow[v = vector[abc, kk]];
vl = VectorLength[v]]]
][[2, 1]]
이렇게하면 v = vector[abc, kk]
의 모든 값이 저장됩니다. Part
추출 [[2, 1]]
은이 목록 만 반환합니다. 여러 데이터 세트를 저장하려면
, 당신은 Sow
내에서 태그를 사용할 수 있습니다 : 여기
Reap[
For[n = 1, n < 6, n = n + 1, For[m = 1, m < 6, m = m + 1,
abc = doc[[n]];
kk = doc[[m]];
Sow[v = vector[abc, kk], "v"];
Sow[vl = VectorLength[v], "v1"]
]]
]
은 내가 Part
추출을 생략합니다. 출력은 {body, {{data1, ...}, {data2, ...}}}
에서입니다. 여기서 body는 표현식 자체의 출력입니다 (For의 경우 Null
). 데이터 세트는 처음에 뿌려진 순서대로 나타납니다. 다음과 같이 Reap
의 또 다른 인수 세트의 명시적인 순서를 얻을 수 있습니다 :
Reap[
For[ ... ],
{"v1", "v"}
]
더 많은 옵션에 대한 심 설명서를 참조하십시오.
괜찮습니다. 나는이 방법을 시도 할 것입니다. – user1100792
이것은 루프에 있습니까? – user1100792
아니요 그냥 실행하면 결과 목록 (기본적으로 행렬)이 반환됩니다. – acl
감사합니다. @yoda, 나는 원래의 대답에서 설명 테스트에 붙여 넣지 않았다는 것을 알지 못했습니다. – acl