How to display in GUI
3 ビュー (過去 30 日間)
古いコメントを表示
Hello How to display an =
[ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
in matlab GUI , I have use num2str but it does not work?
3 件のコメント
Jan
2017 年 5 月 10 日
@m:
if I write an on the command winodw it will display
an = [ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
What exactly appears in the command window? Do you mean
an = [ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
an =
-0.3183 0 0.1061 0 -0.0637 0 0.0455
? Or do you mean the string
'[ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]'
?
回答 (2 件)
Stephen23
2017 年 5 月 10 日
編集済み: Stephen23
2017 年 5 月 10 日
Given a numeric vector, here is one way to generate a string to display:
>> vec = [ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
vec =
-0.31831 0.00000 0.10610 0.00000 -0.06366 0.00000 0.04547
>> [N,D] = rat(vec*pi);
>> C = arrayfun(@(n,d)sprintf('%d/(%d*pi)',n,d),N,D,'uni',0);
>> C = regexprep(C,'0/.*','0');
>> str = sprintf(', %s',C{:});
>> str = sprintf('[%s]',str(3:end))
str = [-1/(1*pi), 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
0 件のコメント
Jan
2017 年 5 月 10 日
figure;
H = uicontrol('Style', 'edit', 'Units', 'normalized', 'Position', [0.01, 0.01, 0.98, 0.1]);
an = [ -1/pi, 0, 1/(3*pi), 0, -1/(5*pi), 0, 1/(7*pi)]
set(H, 'String', num2str(an))
Well, this works. Therefore I cannot reconsider, why "nothing is displayed" in your case. Perhaps the foreground color equals the background color of the edit field. Or the handles.edit8 is hidden behind another control. Or you do this in a loop and do not give Matlab the chance to update the display by a drawnow command. There can be a bunch of reasons. Please explain more details and post the relevant part of the code, which reproduces the problem.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!