Maple中如何便捷提取表达式中的所有三次方根?
如何简便提取表达式中的所有三次方根?
你可以直接利用Maple中indets的模式匹配能力,一步到位提取所有三次方根,无需先获取所有幂运算再筛选:
原方案回顾
提取平方根的写法:
f:=a-sqrt(a^2+b+(a+b^2)^(1/3))+(a-b^(1/3))^(1/3); indets(f,sqrt);
你当前提取三次方根的写法:
ind:=indets(f,`^`); {seq(`if`(op(2,ind[k])=1/3,ind[k],NULL),k=1..nops(ind))};
更简便的实现方法
直接通过模式匹配指定目标结构,和提取平方根的逻辑一致:
f:=a-sqrt(a^2+b+(a+b^2)^(1/3))+(a-b^(1/3))^(1/3); indets(f, `^`(_, 1/3));
这里的_是Maple的通配符,代表任意表达式,^(_, 1/3)会精准匹配所有形如x^(1/3)的三次方根项,一步完成提取,比原方案更简洁高效。
内容的提问来源于stack exchange,提问作者Robertas Vilkas
相关产品推荐
相关产品推荐

