Я пытаюсь реализовать свою собственную версию функции Coefficient
в Mathematica для учебных целей. Это то, что я написал до сих пор:Извлечение соответствующего объекта из MatchQ
myCoefficient[fun_,var_,pow_] := Module[ {f,coeff},
f[var] = Expand[fun];
Map[ If[ MatchQ[#, a_ Power[var,pow] ], coeff=a] &, f[var]];
Map[ If[ MatchQ[#, Power[var,pow] ], coeff=1] &, f[var]];
Return[coeff];
]
Моя проблема заключается в том, что If[ MatchQ[#, a_ Power[var,pow] ], coeff=a]
не возвращает то, что a_
матчи внутри MatchQ
но возвращает литерал «а» вместо этого.
Как я могу обратиться к совпадению MatchQ?
Если вы изучаете Mathematica, я бы порекомендовал http://mathematica.stackexchange.com вместо этого сайта –
Я второй, что движение. Подавляющее большинство экспертов математики переехали туда. Пара все еще преследует stackoverflow, но они очень редки. – rcollyer
спасибо за совет – blue