How make symbolic variables to a power equal to zero
14 views (last 30 days)
Show older comments
Wojciech Kalinowski on 22 May 2021
I'm calculating inertia using thin strucuter theory. I have all of my components of inertial set as an symbolic array.
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.
Uday Pradhan on 24 May 2021
I believe the below information will be helpful:
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(polynomialDegree(Iy,t)>1) = sym(0)
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!