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!