How make symbolic variables to a power equal to zero

14 views (last 30 days)
I'm calculating inertia using thin strucuter theory. I have all of my components of inertial set as an symbolic array.
for example:
Iy_ = [16*t^3 / a, a^2 * t]
However, I need to equate any element in the array to 0 if the variable t is to an power greater than 1. So t^2, t^3, ... would equal zero where as t would remain as t.
Is there any convineint way to do this in MATLAB 2020a?
Thanks in advanced.

Answers (2)

Uday Pradhan
Uday Pradhan on 24 May 2021
I believe the below information will be helpful:
syms t;
sympol = 10 * t^2;
deg = numel(sym2poly(sympol)) - 1; %sym2poly extracts vector of all numeric coefficients, including zeros, from symbolic polynomial
if deg > 1
% evaluate sympol to 0
This way you can get the degree of the symbolic polynomial and then do the required computations. Documentation of sym2pol is here.

Paul on 24 May 2021
syms a t
Iy = [16*t^3 / a, a^2 * t]
Iy = 
Iy(polynomialDegree(Iy,t)>1) = sym(0)
Iy = 


Find more on Symbolic Math Toolbox in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!