2010-11-23 7 views
2
다루기

한다고 가정 내가 정의하는 다음 (나쁜) 패턴첨자 변수

Subscript[\[Beta], i_][x_] := Subscript[\[Beta], i][x[[i]]]; 
  1. 는 다른 모든 첨자 변수에 대한 정의를 삭제하지 않고이 패턴을 취소 할 수 있습니까? 내 첫 번째 생각은 아래 첨자의 DownValues ​​수정하는 것입니다하지만 그것은 비어 것으로 보인다

  2. subscripted 인수가있는 함수를 가질 수 있습니까? IE, f[x_1,x_2,x_3]:=Total[x_#&/@Range[3]]의 라인을 따라 뭔가. 사람들이 Symbolize을 사용하여 아래 첨자에 도움이되었다고 들었는데, 여기에서 작동합니까?

+0

입니다 ...하지만 그래 당신이 기능에 첨자를 사용할 수 있습니다 - 그들은 순종 패턴 일치 규칙은 다른 것과 같습니다. 예, 무거운 표기법을 사용하려면'Symbolize' 또는'MakeBoxes'를 자주 사용했습니다. – Simon

+0

첨자를 사용하지 않을 경우의 장점은 기호가 한 단계 아래에 있음을 의미합니다. 비교 : b/: a [b, :] [x, y] : = x^b [ j]'가 실패합니다. – Simon

+0

예제에서 f의 목표는 인수를 합한 함수를 갖는 것이고, 질문은 x_3 변수에 값을 채우는 방법이 될 것입니다. 지금 나는이 종류의'f = Function @@ {Table [Symbol [ "x"ToString [i]], {i, 1.5}, Total ...}' task –

답변

4

그것은 (Information["*Values"] 참조) SubValues이다.

In[25]:= Subscript[\[Beta],i_][x_]:=Subscript[\[Beta],i][x[[i]]]; 
SubValues[Subscript] 
Out[26]= {HoldPattern[Subscript[\[Beta], i_][x_]]:>Subscript[\[Beta], i][x[[i]]]} 

그냥 취소 =.를 사용 매우 명확하지 당신은 2 예있어

In[27]:= Subscript[\[Beta],i_][x_]=. 
SubValues[Subscript] 
Out[28]= {} 

HTH

+0

'= .'에 대한 문서를 찾는 데 어려움을 겪었다. : 그것은'Unset '에 대한 별칭이다. 좋은 그 하나 :) – Janus

+0

차가운. 이것은 SubValues ​​[Subscript] = Cases [SubValues ​​[Subscript], _? (FreeQ [#, Subscript [a, _]])와 같은 어떤 것에'Subscript [a, _]'와 같은 모든 정의를 제거하고자한다면 일반화됩니다.)]'. – Simon

+0

흥미 롭다면, 도움말 브라우저에 없지만 문서화되지 않은 값 목록에 대한 설명이있는 페이지를 찾았습니다 - http://www.verbeia.com/mathematica/tips/HTMLLinks/Tricks_Misc_4.html –

관련 문제