How can I set higher-order to1
2 views (last 30 days)
Show older comments
For example, I have a function
f1=x^3*y^2*z+x^2*z+x^2*y*z^3;
let x^n=x,y^n=y,z^n=z,
so my function becomes
f1=x*y*z+x*z+x*y*z
=2x*y*z+x*z
Is there a built-in command to realize it?
0 Comments
Answers (1)
Jyothis Gireesh
on 21 Nov 2019
There may not be an in-built function to replace all the higher order terms in a polynomial with their corresponding single order terms.
But, you may use the following workaround which makes use of symbolic substitution function “subs()” to achieve the same result.
clear;
syms x y z f1(x,y,z);
f1(x,y,z) = x^3*y^2*z + x^2*z + x^2*y*z^3;
n = 3;
f2 = subs(f1(x,y,z),[x.^(2:n) y.^(2:n) z.^(2:n)],[repelem(x,n-1) repelem(y,n-1) repelem(z,n-1)]);
Here “n” is the highest power of all the variables in the polynomial.
Please refer to the following documentation which explains about simultaneously performing multiple substitutions in a symbolic function.
Hope this helps!!
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!