2017-03-28 2 views
1

Maple 표현식에서 일부 파생물 만 유지하는 간단한 방법이 있습니까? 예를 들어, Maple 표현식에서 고차 파생물 제거

f(x) := (g(x)+diff(g(x),x))*(h(x)+diff(h(x),x)) 

f'의 전체 표현

f'=g'h+gh'+2g'h'+gh''+g''h+g''h'+g'h'' 

입니다 내가

을 넣어 생각하고 내가 먼저 차 미분까지 단지 조건을 지킨다면 나는
f'=g'h+gh'+2g'h'. 

거기가 있습니다 먼저 할 단풍 나무의 길

diff(f(x),x) 

을 삭제 한 다음 1보다 높은 차수의 모든 파생 값을 일부 명령으로 제거합니다 (이 경우)?

답변

1

한 가지 해결책은 파생어에 대한 연산자 표기법으로 변환하는 것입니다. 여기

f := (g(x)+diff(g(x),x))*(h(x)+diff(h(x),x)); 
Df := convert(diff(f, x), D); 
df := eval(Df,[email protected]@2=0); 
convert(df,diff); 

키들은 D @@ 2 조작자에 작용하기 때문에 조작 형태는 제 유도체 잡아 쉽다는 점이다. 해당 연산자를 0 연산자로 대체하면 모든 두 번째 미분 항을 0으로 매핑합니다. 대신 편미분이 작업을 수행하려면

eval(Df,{seq([email protected]@i=0, i=2..5)}); 

: 당신이 높은 순서 조건을 제거하려는 경우, 당신은 뭔가를해야한다.

f := (g(x, y)+diff(g(x, y), x))*(h(x, y)+diff(h(x, y), x)); 
Df := convert(diff(f, x), D); 
df := eval(Df, D[1, 1] = 0); 
convert(df, diff); 

부분의 컨텍스트에서 차등 연산자는 구성된 것이 아니라 시퀀스로 인덱싱됩니다. 그래서 여기에서 D [1,2]는 부분 wrt x와 부분 wrt y가 뒤 따릅니다.

+0

감사합니다. 이것을 부분 파생 상품까지 확장 할 수 있습니까? 나는 메이플이 처음이므로 질문이 분명하다면 미안합니다. –

+0

안녕하세요. 저는 수학 SE에 질문을 올렸습니다. 여기서 제가하려고하는 것이 무엇인지 자세히 설명합니다 : http://math.stackexchange.com/questions/2208893/manipulation-of-partial-derivatives-in-maple –

+0

추가했습니다. 이 대답에 대한 부분적인 주석. 바라기를 시작하기에 충분합니다. –