Round polynomial coeff symbolic

조회 수: 6 (최근 30일)
amin ya
amin ya 2019년 7월 8일
답변: amin ya 2019년 7월 8일
As built in Matlab lacks this, I have written a code to find coeffitients that are very small:
function symRound=coeffRounder(symExp)
% search all elements of a matrix
for i=1:size(symRound,1)
for j=1:size(symRound,2)
[C,T]=coeffs(symRound(i,j));
isSmall=logical(abs(c)<1e-16);
C(isSmall)=0;
symRound(i,j)=dot(C,T);
end
end
symRound=symExp;
end
Is there any way to avoid this and solve the problem without this function?
This is caused because of
syms x
cos(-pi/2)*x
I also used the 2nd and 3rd syntax from here:
Pi = sym(pi, 'f') %if you want it treated as 884279719003555/281474976710656
Pi = sym(pi, 'd') %if you want it treated as symbolic 3.1415926535897931159979634685442
Non of them gives 0 for
syms x
cos(-pi/2)*x

채택된 답변

amin ya
amin ya 2019년 7월 8일
Ok, 3rd method works strangely.
Pi = sym('pi'); %if you want it treated as symbolic

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by