How to show in edittext the polynomial ordered from highest to lowest grade?
조회 수: 1 (최근 30일)
이전 댓글 표시
What happens is that my program in edittext edit the polynomial but all messy can you print but in an orderly way? From highest to lowest?
댓글 수: 0
채택된 답변
Walter Roberson
2017년 11월 4일
Use the two-output form of coeffs to extract the coefficients and the corresponding powers. The powers will be sorted in descending order. You can then construct a character string from the parts.
[cs, pows] = coeffs(YourPolynomial, AppropriateVariable);
temp = sprintf( '%s * %s +', [cs(:), pows(:)].' ); %transpose is important
temp(end-1:end) = []; %trim trailing ' +'
댓글 수: 3
Walter Roberson
2017년 11월 5일
편집: Walter Roberson
2017년 11월 5일
syms x y = expand((x-1)^3+x);
[cs, pows] = coeffs(y, x); z = sprintf( '%s * %s + ', [cs(:), pows(:)].' ); %transpose is important z(end-2:end) = []; %trim trailing ' + ' set(handles.edit23,'String',char(z))
You can get fancier, such as suppressing '1 *' if it occurs, or the final '* 1' if it occurs, and by handling negative values. The easiest way to handle those is probably to do some pattern matching on z using regexprep.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!