How make symbolic variables to a power equal to zero
12 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
回答 (2 件)
Uday Pradhan
2021 年 5 月 24 日
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.
0 件のコメント
Paul
2021 年 5 月 24 日
syms a t
Iy = [16*t^3 / a, a^2 * t]
Iy(polynomialDegree(Iy,t)>1) = sym(0)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Symbolic Math Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!