과 같이 희소 배열을 사용하고 싶습니다. a = SparseArray [{}, {m, n}, "*"] 0 대신에 *가됩니다. 그러한 방법 에서 플러스와 시간을 연장 할 수 하다 :Mathematica에서 플러스와 타임을 재정의
플러스 [1, = 시간 [1, = 하지만 플러스 [0, * = 0
감사합니다, 당신은 내장 함수를 수정하는 방법에 대한 조언 여기를 요구하고 있기 때문에
과 같이 희소 배열을 사용하고 싶습니다. a = SparseArray [{}, {m, n}, "*"] 0 대신에 *가됩니다. 그러한 방법 에서 플러스와 시간을 연장 할 수 하다 :Mathematica에서 플러스와 타임을 재정의
플러스 [1, = 시간 [1, = 하지만 플러스 [0, * = 0
감사합니다, 당신은 내장 함수를 수정하는 방법에 대한 조언 여기를 요구하고 있기 때문에
Lavoslav, 난 당신이 안전하게 등의 수정 작업을 위해 아직 티카의 경험이 충분한 사용자가 아닌 것으로 결론 지었다.
예, Mathematica의 내장 함수의 정의와 활동을 Plus
과 Times
과 같이 수정할 수 있습니다. 그러나 그것은 거의 확실히 매우 나쁜 생각입니다. 가장 큰 위협은 추가 및 곱셈과 같은 기본적인 작업에 특히 적용되므로 영향을 원하고 이해하는 상황에만 이러한 수정의 영향을 제어하는 것은 매우 어렵습니다.
훨씬 더 좋은 생각은 사용자가 원하는대로 작동하도록 함수 버전을 정의하는 것입니다. 이러한 작업은 다음과 같이 시작될 수 있습니다.
mySparseArrayPlus[term1_SparseArray,term2_] :=
난 당신이 대신 Symbol
를 사용, 같은 당신의 SparseArray
의의 기본 값 "*"
로 문자열의 사용을 피해야하는 것도 생각합니다.
Plus
과 Times
을 수정해야하는 경우 UpValues
의 정의를 통해 접근하십시오. Mathematica 문서에서 this page을 읽는 것이 좋습니다.
마지막으로 간섭해야하는 경우 Unprotect
을 모두 읽으십시오. 행운을 빈다. 추가와 곱셈을 깨뜨릴 때 도움을 요청하지 마라.
예, 저는 매우 초보자입니다. :) 조언 해 주셔서 감사합니다. L. – user1764592