我想在msgbox中显示我的输出,所以我使用了msgbox(num2str(output))
,但我想命名每一行,例如:
Red 25
Green 52
Yellow 88
但当我尝试这样做时,它说
Error using horzcat
CAT arguments dimensions are not consistent.
当弹出该窗口并且用户按OK时,会弹出另一个窗口询问
W = questdlg('Would you like to retrain or test the network?', ...
'Artificial Neural Network', 'Retrain', 'Test', 'Exit', 'Exit');
那么,如何格式化我的msgbox,一旦按下OK按钮,会弹出另一个窗口?
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:2)
对于第一个问题,您可以使用cell array
表示法格式化消息框文本:
rVal = 25;
gVal = 35;
bVal = 45;
msg = {['Red ',num2str(rVal)];...
['Green ',num2str(gVal)];...
['Blue ',num2str(bVal)]};
这允许您垂直连接多长度字符串。
如果您的输出是Nx1列向量,您始终可以使用cellfun
以这种方式对其进行格式化:
output = [25;35;45];
msgTxt = {['Red '];['Green '];['Blue ']};
msgNum = cellfun(@num2str,num2cell(output),'UniformOutput',false);
msg = cellfun(@(x,y) [x,y],msgTxt,msgNum,'UniformOutput',false);
只要你将msgTxt大小与输出大小相匹配,这对任何大小的输出变量都适用。
至于让您的程序等待用户响应,请尝试uiwait
:
mH = msgbox(msg);
uiwait(mH)
disp('Let''s continue...')
答案 1 :(得分:0)
msgbox可以像这样格式化
R=23;G=35;B=45; %given values
(msgbox({['Red ',num2str(R)];['Green ',num2str(G)];['Blue ',num2str(B)]; }));
在你的问题的后半部分之后
uiwait(msgbox({['Red ',num2str(R)];['Green ',num2str(G)];['Blue ',num2str(B)]; }));
W = questdlg('Would you like to retrain or test the network?', ...
'Artificial Neural Network', 'Retrain', 'Test', 'Exit', 'Exit');