How make symbolic variables to a power equal to zero

15 Ansichten (letzte 30 Tage)
Wojciech Kalinowski
Wojciech Kalinowski am 22 Mai 2021
Beantwortet: Paul am 24 Mai 2021
Hi,
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.

Antworten (2)

Uday Pradhan
Uday Pradhan am 24 Mai 2021
Hello,
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
end
This way you can get the degree of the symbolic polynomial and then do the required computations. Documentation of sym2pol is here.

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

Kategorien

Mehr zu Formula Manipulation and Simplification finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by