Clear Filters
Clear Filters

How can I set higher-order to1

5 views (last 30 days)
Yanjun Wu
Yanjun Wu on 18 Nov 2019
Answered: Jyothis Gireesh on 21 Nov 2019
For example, I have a function
let x^n=x,y^n=y,z^n=z,
so my function becomes
Is there a built-in command to realize it?

Answers (1)

Jyothis Gireesh
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.
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!!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!