Determining Whether Symbolic Polynomials Are Linear

4 views (last 30 days)
Suppose that, using Matlab's syms expression, I generate a polynomial using a set of symbolic variables. Here is an example of such a polynomial that I could generate:
syms x y z
f = x*y + z + y*z;
Next, I want some function that will take in such a polynomial as well as a subset of symbolic variables that I designate as free. Then, this function will return whether this polynomial is linear in terms of the given subset of variables, treating all other variables as constants. I would like to find a native Matlab function that accomplishes this without having to code one from scratch myself. Let us suppose that such a function can be denoted as "is_linear". Now, I will proceed to show examples of its use on the above polynomial:
is_linear(f, [y z]) % Returns false
is_linear(f, [y]) % Returns true
I was wondering if anyone knew of a native Matlab function that would accomplish this for me or make the process of creating such a function much simpler. Thank you for reading, and I look forward to seeing responses.

Answers (1)

Torsten
Torsten on 26 Apr 2022
Edited: Torsten on 26 Apr 2022
You will have to check the two properties of a linear function:
f(x+y) = f(x) + f(y)
f(a*x) = a*f(x)
for symbolic variables x,y and a.

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!