matlab GUI中的显示问题
functionpushbutton3_Callback(hObject,eventdata,handles)x=[808698901201029583113105110...
function pushbutton3_Callback(hObject, eventdata, handles)
x=[80 86 98 90 120 102 95 83 113 105 110 100];
cdf=[];
[H,p,ksstat,cv] = kstest(x,cdf,0.05) ;
axes(handles.axes2);
normplot(x);
set(handles.edit8,'string',H);
if H==0
set(handles.edit9,'string','服从标准正态分布');
else
set(handles.edit9,'string','不服从标准正态分布');
end
如代码,我想进行KS检验,图能显示出来,但是在edit8中无法显示出H的值,if else 语句也无法进行。求解 展开
x=[80 86 98 90 120 102 95 83 113 105 110 100];
cdf=[];
[H,p,ksstat,cv] = kstest(x,cdf,0.05) ;
axes(handles.axes2);
normplot(x);
set(handles.edit8,'string',H);
if H==0
set(handles.edit9,'string','服从标准正态分布');
else
set(handles.edit9,'string','不服从标准正态分布');
end
如代码,我想进行KS检验,图能显示出来,但是在edit8中无法显示出H的值,if else 语句也无法进行。求解 展开
展开全部
你需要一个num2str函数。静态文本框只能显示类型为string的对象,你的H是数值,不能直接显示的,应换为:num2str(H)。
num2str函数的用法:
(1)str = num2str(A)
把数组A中的数转换成字符串表示形式。
(2)str = num2str(A, precision)
把数组A转换成字符串形式表示,precision表示精度, 比如precision为3表示保留最多3位有效数字, 例如0.5345转换后为0.534,1.2345转换后为1.23。即从左边第一个不为0的数开始保留3个数值。
(3)str = num2str(A, format)
按format指定格式进行格式化转换,通常'%11.4g'是默认的。
在matlab中,无论是内建函数还是工具箱函数, 2很常见, 这可能是因为2英文two和to发音相同。而2写起来也比较简单,更重要的是数字2在字符串中间,很明显区分前后字符。 所以很多转换类函数都用2来命名而非to。比如number to string, 不是命名为numTostr而是num2str。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询